You are not logged in.

#1 2007-08-19 08:19:31

Anders
Member
From: Sweden
Registered: 2006-05-19
Posts: 48
Website

[Request] llvm-gcc4

I tried building a LLVM-GCC4 package, however it was kind of hacky and conflicted with some files... so it wouldn't install. But it did build. Something like this:

# Contributor: Anders Bergh <anders1@gmail.com>
pkgname=llvm-gcc4
pkgver=2.0
pkgrel=1
pkgdesc="GCC frontend for the LLVM compiler infrastructure"
arch=('i686')
url="http://www.llvm.org/"
license=('GPL')
groups=()
depends=('llvm')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=(http://llvm.org/releases/2.0/llvm-gcc4-2.0.source.tar.gz)
noextract=()
md5sums=() #generate with 'makepkg -g'
_llvmdir=/home/anders/llvm/src/llvm-2.0

build() {
  cd "$startdir/src"

  mkdir "gcc-build"
  cd "gcc-build"

  ../llvm-gcc4-2.0.source/configure --prefix=/usr --enable-llvm=/usr/lib \
    --enable-languages=c,c++ --program-prefix=llvm- --disable-nls --llvm-dir=$_llvmdir
  make || return 1
  make DESTDIR="$startdir/pkg" install
}

# vim:set ts=2 sw=2 et:

If anyone can get this to work that'd be amazing...


Running: Arch Linux i686, x86_64, ppc

Offline

#2 2007-08-20 01:14:04

denisfalqueto
Member
From: ES, Brazil
Registered: 2006-03-24
Posts: 197

Re: [Request] llvm-gcc4

Hi,

I managed to build and install llvm and llvm-gcc4, but my PKGBUILDs are a little complex, mainly because building llvm is very complex smile

So, here it comes both, if you want to try.

PKGBUILD for llvm-gcc

pkgname=llvm
pkgver=1.9
arch=('i686')
pkgrel=1
pkgdesc=""
url=""
license=""
depends=('llvm-gcc')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
install=
source=($pkgname-$pkgver.tar.gz)
md5sums=('866ba97420f5ce978b6a6b1cb4338890')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=$startdir/pkg/usr
  make || return 1
  make install
}

Now PKGBUILD for llvm-gcc4. Note that it needs both llvm-gcc and llvm sources, because there is a strange interdependency between both. Maybe they should extract the common parts and make another package, but that is the way it works now...

pkgname=llvm-gcc4
pkgver=1.9
pkgrel=1
arch=('i686')
pkgdesc="LLVM Compiler Infrastructure - GCC4 Frontend"
url="http://llvm.org"
license="GPL"
depends=()
makedepends=('texinfo' 'flex' 'bison' 'perl')
provides=('llvm-gcc')
conflicts=()
replaces=()
backup=()
install=
source=(llvm-$pkgver.tar.gz $pkgname-$pkgver.source.tar.gz)
ums=('866ba97420f5ce978b6a6b1cb4338890' '7a12b787c35e4243acba7f6653272445')

build() {
  # First, we need to build llvm without llvm-gcc4
  cd $startdir/src
  mkdir -p objllvm
  cd objllvm
  $startdir/src/llvm-$pkgver/configure --prefix=/usr
  make tools-only ENABLE_OPTIMIZED=1 || return 1

  # Now, we need to build llvm-gcc4
  cd $startdir/src
  mkdir -p objllvm-gcc4
  mkdir -p $startdir/pkg/opt/llvm-gcc
  cd objllvm-gcc4
  $startdir/src/llvm-gcc4-$pkgver.source/configure --prefix=$startdir/pkg/opt/llvm-gcc --enable-llvm=$startdir/src/objllvm/ --enable-languages=c,c++ --disable-threads
  make ENABLE_OPTIMIZED=1 || return 1
  make install
  mkdir -p $startdir/pkg/usr/bin
  cd $startdir/pkg/usr/bin
  cp $startdir/pkg/opt/llvm-gcc/bin/gcc llvm-gcc
  cp $startdir/pkg/opt/llvm-gcc/bin/g++ llvm-g++
}

Hope that helps.


Satisfied users don't rant, so you'll never know how many of us there are.

Offline

Board footer

Powered by FluxBB