--- llvm-2.5+svn20090623.orig/debian/llvm.binfmt +++ llvm-2.5+svn20090623/debian/llvm.binfmt @@ -0,0 +1,3 @@ +package llvm +interpreter /usr/bin/lli +magic llvc --- llvm-2.5+svn20090623.orig/debian/changelog +++ llvm-2.5+svn20090623/debian/changelog @@ -0,0 +1,361 @@ +llvm (2.5+svn20090623-0ubuntu1) karmic; urgency=low + + * New upstream snapshot (svn 20090623). + * Apply proposed patches for PR4427 and PR4429. + + -- Matthias Klose Tue, 23 Jun 2009 12:26:28 +0200 + +llvm (2.5+svn20090620-0ubuntu1) karmic; urgency=low + + * New upstream snapshot (svn 20090620). + + -- Matthias Klose Sat, 20 Jun 2009 19:21:18 +0200 + +llvm (2.5+svn20090504-0ubuntu1) karmic; urgency=low + + * New upstream snapshot (svn 20090504). + * Update debian patches for the snapshot. + + -- Matthias Klose Mon, 04 May 2009 14:59:27 +0200 + +llvm (2.5-2) unstable; urgency=low + + * Configure all components with PIC enabled, this includes llvm-gcc-4.2. + * Set $LLVM_SRC_ROOT and $LLVM_OBJ_ROOT to $(PF)/build in binary target. + * Build-Conclicts on ocaml to prevent ocaml bindings to be built. This + should be kept until we build an llvm-ocaml binding package. + * Disable parallel build by default. + + -- Arthur Loiret Fri, 13 Mar 2009 12:31:49 +0000 + +llvm (2.5-1) unstable; urgency=low + + * New upstream release. Closes: #518406. + * Update patches: + - 0007-Separate-alpha-asmprinter.-This-should-unbreak-nativ.patch, + 0008-Separate-sparc-asmprinter.-This-should-unbreak-the-n.patch: Remove. + - Refresh all others. + * Configure with --with-pic --enable-pic. Closes: #518476. + * Remove dangling symlinks. Closes: #509669. + - Now autogenerate debian/llvm.links in debian/rules.d/binary.mk. + * Update build infrastructure for llvm-snapshot and llvm-gcc. + + -- Arthur Loiret Fri, 06 Mar 2009 19:19:06 +0000 + +llvm (2.4-1~exp1) experimental; urgency=low + + * Backport from mainline: + - 0007-Separate-alpha-asmprinter.-This-should-unbreak-nativ.patch. + - 0008-Separate-sparc-asmprinter.-This-should-unbreak-the-n.patch. + * debian/debhelper.in/llvm-dev.install: Also install configure, + config.status and autoconf/ in /usr/lib/llvm/build, will be required + to build clang. + * debian/debhelper.in/llvm.postinst, debian/debhelper.in/llvm.prerm: + Remove full path for update-binfmts. + + -- Arthur Loiret Mon, 24 Nov 2008 20:39:24 +0000 + +llvm (2.4-1~exp0) experimental; urgency=low + + * New upstream release. Closes: #505394 + - Update patches. + * debian/rules: + - Support DEB_BUILD_OPTIONS=parallel=n. + - Depect cpu number and run parallel build by default. + * debian/rules.d/binary.mk: Remove extra license file. + * debian/rules.d/unpack.mk: Really unpatch sources on clean. + * debian/control: Bump Standards-Version to 3.8.0. + * Merge changes between versions 2.2-9 and 2.2-12. + + -- Arthur Loiret Sat, 22 Nov 2008 10:43:59 +0000 + +llvm (2.3-1~exp0) experimental; urgency=low + + * New upstream release. Closes: #489255 + - Update patches. + * debian/debhelper.in/llvm.install: No more config files. + + -- Arthur Loiret Tue, 08 Jul 2008 18:42:51 +0000 + +llvm (2.2-12) unstable; urgency=low + + * 4 revisions to fix debian/control, how lame am I… + Properly update debian/control.in/llvm-examples. + + -- Pierre Habouzit Mon, 13 Oct 2008 10:02:55 +0200 + +llvm (2.2-11) unstable; urgency=low + + * +~ sorts before +bX which defeats its purpose. Use +c~ to be sorted + _after_ binNMUs. + + -- Pierre Habouzit Sun, 12 Oct 2008 18:49:45 +0200 + +llvm (2.2-10) unstable; urgency=high + + * New upload to fix previous borked one. + + -- Pierre Habouzit Sun, 05 Oct 2008 16:19:21 +0200 + +llvm (2.2-9) unstable; urgency=high + + * Make llvm bin-NMU friendly (Closes: #499469). + + -- Pierre Habouzit Sun, 05 Oct 2008 09:37:52 +0200 + +llvm (2.2-8) unstable; urgency=high + + * Run testsuite on kfreebsd-i386 and kfreebsd-amd64 as well. + * Don't append LLVM_DEBIAN_INFO to llvm-config. Closes: #481967 + + -- Arthur Loiret Sat, 28 Jun 2008 16:11:48 +0000 + +llvm (2.2-7) unstable; urgency=high + + * Fix i386-only FTBFS due to missing #include (Closes: 474863). + + -- Pierre Habouzit Sun, 20 Apr 2008 21:40:59 +0200 + +llvm (2.2-6) unstable; urgency=low + + [ Arthur Loiret ] + * Don't build llvm-stub: Closes: #468339 + - patches/0007-Disable-llvm-stub.patch: Add. + - debhelper.in/llvm.links: Update. + * Run the testsuite on amd64 i386 ia64 powerpc s390 sparc only. + + [ Pierre Habouzit ] + * Update patches/0006-Build-with-g-4.3.patch with missing hunk. + (Closes: 417382). + + -- Pierre Habouzit Sun, 06 Apr 2008 00:33:49 +0200 + +llvm (2.2-5) unstable; urgency=low + + * brown paper bag bug, fix llvm-examples.links reordering arguments + (Closes: 470409). + + -- Pierre Habouzit Tue, 11 Mar 2008 10:03:09 +0100 + +llvm (2.2-4) unstable; urgency=low + + [ Pierre Habouzit ] + * debian/control: + + Missing Provides: llvm-libs in llvm-dev Package. + * patches/0005-Build-LLVM-with-O2.patch: build llvm with -O2 to ease + buildd's life. + * Install Makefile.{common,config,rules} in /usr/lib/llvm/build. + * Add links to the Makefiles from llvm-examples (Closes: 469531). + * Rework dependency chains: + + llvm-example depends llvm-dev. + + llvm-dev depends llvm. + + llvm depends nothing, but recommends llvm-dev. + * patches/0006-Build-with-g-4.3.patch: add patch to build with g++-4.3 + (Closes: 417382). + + [ Arthur Loiret ] + * Use logwatch script from gcc to prevent testsuite timeouts. + + -- Pierre Habouzit Mon, 10 Mar 2008 13:22:45 +0100 + +llvm (2.2-3) unstable; urgency=low + + [ Arthur Loiret ] + * 0004-Fix-TOOLDIR-path-for-gccas-and-gccld.patch: Add. Closes: #468341 + * debian/debhelper.in/llvm-doc.install: don't install html.tar.gz, already + in untared html dir. Closes: #468338 + * Rename llvm-libs to llvm-dev and include headers in it. Closes: #468344 + + [ Pierre Habouzit ] + * Fix postinst/prerm binfmts registration for chroots. + + -- Pierre Habouzit Mon, 03 Mar 2008 01:21:00 +0100 + +llvm (2.2-2) unstable; urgency=low + + [ Arthur Loiret ] + * Don't Build-Depends on graphviz, not needed. + * Run testsuite by default. + * 0001-Update-configure-script-for-kfreebsd-gnu-and-hurd.patch: New, + fix FTBFS on kfreebsd-gnu and hurd. + * 0002-Fix-llvm-config-script.patch: New, fix lib and include paths. + * 0003-Debian-version-info-and-bugreport.patch: New, mention Debian revision + in --version, update bugreport contact (set to pkg-llvm mailling list). + + -- Pierre Habouzit Fri, 22 Feb 2008 14:04:39 +0100 + +llvm (2.2-1) unstable; urgency=low + + [ Pierre Habouzit ] + * New upstream release. + * debian/debhelper.in/llvm-examples.examples: add missing file so that + llvm-examples isn't empty. + * debian/debhelper.in/llvm.{preinst,postinst}: use binfmt-support to + register llvm.binfmts properly. + + [ Arthur Loiret ] + * debian/debhelper.in/llvm.install: Remove libs, + * debian/rules.d/build.mk: Remove extra-license-file. + + -- Pierre Habouzit Tue, 12 Feb 2008 11:11:34 +0100 + +llvm (2.1.99-20080209-2) experimental; urgency=low + + * Reinstate lost crhpath to remove unsafe rpath. + + -- Pierre Habouzit Sun, 10 Feb 2008 02:35:19 +0100 + +llvm (2.1.99-20080209-1) experimental; urgency=low + + [ Arthur Loiret ] + * New Maintainers. Closes: #451106, #451384, #449355 + * New upstream release, new build system (again). + * debian/control.in/llvm-gcc: + + Update llvm-gcc description. Closes: #441382 + * debian/copyright: Update. + + [ Pierre Habouzit ] + * debian/control.in/source, debian/control: + + add Vcs-* headers. + * Bump compat to 6. + + -- Arthur Loiret Thu, 07 Feb 2008 15:22:43 +0100 + +llvm (2.1-0~exp1) experimental; urgency=low + + [ Arthur Loiret ] + * Initial llvm2 upload, the packaging is not over yet and we need to test a + few things before uploading it to unstable. Closes will be added then. + * Remove dpatch from build-depends, not used anymore. + * New build system. + + [ Pierre Habouzit ] + * debian/control: + + Remove version for doxygen build-depends as it's not even in oldstable. + + Bump Standards-Version to 3.7.3. + + Add Homepage field. + + -- Pierre Habouzit Mon, 07 Jan 2008 15:09:16 +0100 + +llvm (1.8b-1) unstable; urgency=low + + * Closes: bug#356095: missing llvmc from package (over-zealous cleanup + was removing it) + * Replace entire C front-end (CFE)with latest from CVS (as recommended by + upstream); this will get re-synced with the 1.9 release. + * Re-enable amd64 build. + * Closes: bug#380151 -- FTBFS on ia64 and amd64; new CFE fixes ia64, + but amd64 is hacked back in and not officially supported upstream. + * Closes: bug#389300 -- ia64/unstable FTBFS: compile errors (duplicate) + * Closes: bug#394883 -- ia64/unstable FTBFS: compile errors (duplicate) + + -- Al Stone Mon, 23 Oct 2006 12:53:33 -0600 + +llvm (1.8a-1) unstable; urgency=low + + * Upgrade to latest upstream. + * Closes: bug#385767 -- New upstream release + * Closes: bug#382897 -- Please stop Build-Depending on automake (patch + was wrong, dependency is actually on 1.9, not 1.4) + * Makefile used 'tar xvzf' which was far too noisy; using 'tar xzf' now. + * Closes: bug#380150 -- claims front-end is based on GCC 3.4 but it's 4.0.1 + now; fixed the control file to reflect the proper version. + * Closes: bug#390289 -- problem with update-binfmts when purging packagei + llvm; update-binfmts was being invoked with the wrong arguments + + -- Al Stone Sat, 21 Oct 2006 12:27:09 -0600 + +llvm (1.7-3) unstable; urgency=low + + * Closes: bug#376138 -- llvm: postinst failure in update-binfmts + * Closes: bug#373655 -- amd64 FTBS; this is _not_ a fully supported + architecture; the C backend is the only backend available, iff one + uses an older gcc frontend. Waiting for upstream or helping them + are the best options. + + -- Al Stone Tue, 11 Jul 2006 08:33:48 -0600 + +llvm (1.7-2) unstable; urgency=low + + * Closes: bug#374615: llvm-doc: do not ship doxygen.tar.gz and html.tar.gz + * Closes: bug#373655: amd64/unstable FTBFS -- Unsuported LLVM Target + x86_64-unknown-linux-gnu; this is not yet a supported architecture + for this package and should not have been included. + + -- Al Stone Mon, 26 Jun 2006 08:43:40 -0600 + +llvm (1.7-1) unstable; urgency=low + + * New upstream source (1.7) + * Add alpha architecture, be nicer to sparc + * Closes: bug#370161 -- FTBS due to doxygen bug in older versions (patch + from NMU was not used in order to keep dependencies straightforward) -- + bug #345952 closed from doxygen NMU. + * Closes: bug#357015 -- bashism in /etc/init.d/llvm, by removing the use + is the /etc/init.d script and instead using update-binfmts(8). + * Closes: bug#357016 -- please consider replacing /etc/init.d/llvm with + update-binfmts(8) + + -- Al Stone Tue, 13 Jun 2006 18:11:22 -0600 + +llvm (1.6-1.1) unstable; urgency=high + + * Non-maintainer upload. + * Build-depend on fixed doxygen (>= 1.4.6-2.1); fixes FTBFS. + (Closes: #357722) + + -- Steinar H. Gunderson Sat, 3 Jun 2006 13:52:35 +0200 + +llvm (1.6-1) unstable; urgency=low + + * Closes: bug#339768 -- new upstream version + * Closes: bug#332517 -- FTBS on s390 (it's not a supported architecture) + + -- Al Stone Sun, 1 Jan 2006 15:23:30 -0700 + +llvm (1.5-1) unstable; urgency=low + + * Updated to latest upstream (1.5) + * Removed restriction requiring gcc 3.3 on i386 (no longer needed). + * Updated to latest standards version + * Removed dependency on pax (no longer needed) + * NB: this version was not released into the wild due to my inability to + get it done in a reasonable amount of time + + -- Al Stone Sat, 10 Sep 2005 17:30:42 -0600 + +llvm (1.5-0b) unstable; urgency=low + + * Forced dependency on GCC 3.4; LLVM really does prefer it. + * Updated 1.5cvs bits. + + -- Al Stone Wed, 25 May 2005 14:01:21 -0700 + +llvm (1.5-0a) unstable; urgency=low + + * Start preparing for the 1.5 release. + + -- Al Stone Fri, 20 May 2005 17:39:53 -0700 + +llvm (1.4-3) unstable; urgency=low + + * Closes: bug#304035 -- upstream renamed 'extract' to 'llvm-extract' to + remove conflict with /usr/bin/extract from package extract. + * Closes: bug#308694 -- missing depends for texinfo and graphviz + + -- Al Stone Thu, 19 May 2005 16:47:33 -0600 + +llvm (1.4-2) unstable; urgency=low + + * An older version of llvmc was inadvertently used; now fixed. + + -- Al Stone Fri, 11 Mar 2005 17:04:30 -0700 + +llvm (1.4-1) unstable; urgency=low + + * Initial Release. + * Closes: bug#239415 -- ITP for LLVM (Low-Level Virtual Machine) compiler + for C/C++ + + -- Al Stone Thu, 10 Mar 2005 07:31:10 -0700 + --- llvm-2.5+svn20090623.orig/debian/rules +++ llvm-2.5+svn20090623/debian/rules @@ -0,0 +1,67 @@ +#!/usr/bin/make -f +# +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +include debian/rules.d/vars.mk + +# run testsuite +with_check := no +ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 ia64 powerpc s390 sparc kfreebsd-i386 kfreebsd-amd64)) + with_check := yes +endif + +BUILDDEPS := +ifeq (llvm,$(PKGSOURCE)) + builds := llvm-tools llvm-all + packages := llvm llvm-dev llvm-doc llvm-examples +endif +ifeq (llvm-snapshot,$(PKGSOURCE)) + PF := /usr/lib/llvm-snapshot + builds := llvm-tools llvm-all + packages := llvm-snapshot +endif +ifneq (,$(filter llvm-gcc-%,$(PKGSOURCE))) + BUILDDEPS := llvm (>= $(UVERSION)), llvm-dev (>= $(UVERSION)) + tarballs := gcc + builds := llvm-gcc + packages := llvm-gcc + with_check := no +endif + +confargs := \ + --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --with-pic --enable-pic +confargs_llvm := $(confargs) +confargs_gcc := $(confargs) + +confargs_llvm += \ + --prefix=$(PF) + +confargs_gcc += \ + --prefix=$(PF)/gcc-$(gcc_version) \ + --enable-languages=c,c++ --program-prefix=llvm- \ + --enable-llvm=/usr/lib/llvm \ + --enable-threads --disable-nls --disable-shared \ + --disable-multilib + +llvm_MAKEOPTS := DebianOpts="-DLLVM_DEBIAN_INFO='\" (Debian $(VERSION))\"'" + +include debian/rules.d/control.mk +include debian/rules.d/unpack.mk +include debian/rules.d/build.mk +include debian/rules.d/check.mk +include debian/rules.d/binary.mk + +clean: + $(RM) log-* missing + $(RM) -r $(llvm_builddir) $(gcc_builddir) + $(RM) -r $(llvm_srcdir) $(gcc_srcdir) + +.PHONY: clean --- llvm-2.5+svn20090623.orig/debian/copyright +++ llvm-2.5+svn20090623/debian/copyright @@ -0,0 +1,89 @@ +This package was debianized by Arthur Loiret on +Sun, 10 Nov 2007 12:32:05 +0200. + +It was downloaded from http://llvm.org/releases/download.html + + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + 14 rue de Plaisance, 75014 Paris, France + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + +============================================================================== +LLVM Release License +============================================================================== +University of Illinois/NCSA +Open Source License + +Copyright (c) 2003-2007 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +============================================================================== +Copyrights and Licenses for Third Party Software Distributed with LLVM: +============================================================================== +The LLVM software contains code written by third parties. Such software will +have its own individual LICENSE.TXT file in the directory in which it appears. +This file will describe the copyrights, license, and restrictions which apply +to that code. + +The disclaimer of warranty in the University of Illinois Open Source License +applies to all code in the LLVM Distribution, and nothing in any of the +other licenses gives permission to use the names of the LLVM Team or the +University of Illinois to endorse or promote products derived from this +Software. + +The following pieces of software have additional or alternate copyrights, +licenses, and/or restrictions: + +Program Directory +------- --------- +System Library llvm/lib/System +Compiler Driver llvm/tools/llvmc +Autoconf llvm/autoconf + llvm/projects/ModuleMaker/autoconf + llvm/projects/sample/autoconf + --- llvm-2.5+svn20090623.orig/debian/compat +++ llvm-2.5+svn20090623/debian/compat @@ -0,0 +1 @@ +6 --- llvm-2.5+svn20090623.orig/debian/logwatch.sh +++ llvm-2.5+svn20090623/debian/logwatch.sh @@ -0,0 +1,104 @@ +#! /bin/sh + +# script to trick the build daemons and output something, if there is +# still test/build activity + +# $1: primary file to watch. if there is activity on this file, we do nothing +# $2+: files to watch to look for activity despite no output in $1 +# if the files are modified or are newly created, then the message +# is printed on stdout. +# if nothing is modified, don't output anything (so the buildd timeout +# hits). + +pidfile=logwatch.pid +timeout=3600 +message='\nlogwatch still running\n' + +usage() +{ + echo >&2 "usage: `basename $0` [-p ] [-t ] [-m ]" + echo >&2 " [ ...]" + exit 1 +} + +while [ $# -gt 0 ]; do + case $1 in + -p) + pidfile=$2 + shift + shift + ;; + -t) + timeout=$2 + shift + shift + ;; + -m) + message="$2" + shift + shift + ;; + -*) + usage + ;; + *) + break + esac +done + +[ $# -gt 0 ] || usage + +logfile="$1" +shift +otherlogs="$@" + +cleanup() +{ + rm -f $pidfile + exit 0 +} + +#trap cleanup 0 1 3 15 + +echo $$ > $pidfile + +update() +{ + _logvar=$1 + _othervar=$2 + + # logfile may not exist yet + if [ -r $logfile ]; then + _logtail="`tail -10 $logfile | md5sum` $f" + else + _logtail="does not exist: $logfile" + fi + eval $_logvar="'$_logtail'" + + _othertails='' + for f in $otherlogs; do + if [ -r $f ]; then + _othertails="$_othertails `tail -10 $f | md5sum` $f" + else + _othertails="$_othertails does not exist: $f" + fi + done + eval $_othervar="'$_othertails'" +} + +update logtail othertails +while true; do + sleep $timeout + update newlogtail newothertails + if [ "$logtail" != "$newlogtail" ]; then + # there is still action in the primary logfile. do nothing. + logtail="$newlogtail" + elif [ "$othertails" != "$newothertails" ]; then + # there is still action in the other log files, so print the message + /bin/echo -e $message + othertails="$newothertails" + else + # nothing changed in the other log files. maybe a timeout ... + : + fi +done --- llvm-2.5+svn20090623.orig/debian/control +++ llvm-2.5+svn20090623/debian/control @@ -0,0 +1,92 @@ +Source: llvm +Section: devel +Priority: optional +Maintainer: LLVM Packaging Team +Uploaders: Arthur Loiret , Pierre Habouzit +Build-Depends: debhelper (>= 6.0.0), flex, bison, dejagnu, tcl8.4, expect, + autoconf, automake1.9, perl, libtool, doxygen, chrpath, texinfo, + sharutils +Build-Conflicts: ocaml, ocaml-core, ocaml-nox +Standards-Version: 3.8.0 +Homepage: http://www.llvm.org/ +Vcs-Git: git://git.debian.org/git/pkg-llvm/llvm.git +Vcs-Browser: http://git.debian.org/?p=pkg-llvm/llvm.git;a=summary + +Package: llvm +Architecture: any +Suggests: llvm-doc +Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-dev +Description: Low-Level Virtual Machine (LLVM) compiler for C/C++ + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends (based on GCC 4.0.1), a front-end for a Forth-like + language (Stacker), a young scheme front-end, and Java support is + in development. LLVM can generate code for X86, SparcV9, PowerPC, + or it can emit C code. + +Package: llvm-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, llvm (>= ${binary:Version}) +Provides: llvm-libs +Conflicts: llvm-libs +Replaces: llvm-libs, llvm (<< 2.2-3) +Description: common libraries and headers for LLVM compiler for C/C++ + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. + . + This package provides the libraries and headers to develop applications + using llvm. + +Package: llvm-doc +Section: doc +Architecture: all +Description: documentation for LLVM (Low-Level Virtual Machine) compiler + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains all documentation (extensive). + +Package: llvm-examples +Section: doc +Architecture: all +Depends: llvm-dev (>= ${source:Version}), llvm-dev (<< ${source:Version}+c~) +Description: examples using LLVM (Low-Level Virtual Machine) compiler + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains examples for using LLVM, both in developing + extensions to LLVM and in using it to compile code. + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm-examples +++ llvm-2.5+svn20090623/debian/control.in/llvm-examples @@ -0,0 +1,19 @@ +Package: llvm-examples +Section: doc +Architecture: all +Depends: llvm-dev (>= ${source:Version}), llvm-dev (<< ${source:Version}+c~) +Description: examples using LLVM (Low-Level Virtual Machine) compiler + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains examples for using LLVM, both in developing + extensions to LLVM and in using it to compile code. + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm-snapshot +++ llvm-2.5+svn20090623/debian/control.in/llvm-snapshot @@ -0,0 +1,27 @@ +Package: llvm-snapshot +Architecture: any +Suggests: llvm-doc +Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends} +Description: a SNAPSHOT of the Low-Level Virtual Machine (LLVM) compiler for C/C++ + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends (based on GCC 4.0.1), a front-end for a Forth-like + language (Stacker), a young scheme front-end, and Java support is + in development. LLVM can generate code for X86, SparcV9, PowerPC, + or it can emit C code. + --- llvm-2.5+svn20090623.orig/debian/control.in/source +++ llvm-2.5+svn20090623/debian/control.in/source @@ -0,0 +1,14 @@ +Source: @PKGSOURCE@ +Section: devel +Priority: optional +Maintainer: LLVM Packaging Team +Uploaders: Arthur Loiret , Pierre Habouzit +Build-Depends: debhelper (>= 6.0.0), flex, bison, dejagnu, tcl8.4, expect, + autoconf, automake1.9, perl, libtool, doxygen, chrpath, texinfo, + sharutils @BUILDDEPS@ +Build-Conflicts: ocaml, ocaml-core, ocaml-nox +Standards-Version: 3.8.0 +Homepage: http://www.llvm.org/ +Vcs-Git: git://git.debian.org/git/pkg-llvm/llvm.git +Vcs-Browser: http://git.debian.org/?p=pkg-llvm/llvm.git;a=summary + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm +++ llvm-2.5+svn20090623/debian/control.in/llvm @@ -0,0 +1,28 @@ +Package: llvm +Architecture: any +Suggests: llvm-doc +Depends: binfmt-support, ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-dev +Description: Low-Level Virtual Machine (LLVM) compiler for C/C++ + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends (based on GCC 4.0.1), a front-end for a Forth-like + language (Stacker), a young scheme front-end, and Java support is + in development. LLVM can generate code for X86, SparcV9, PowerPC, + or it can emit C code. + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm-dev +++ llvm-2.5+svn20090623/debian/control.in/llvm-dev @@ -0,0 +1,14 @@ +Package: llvm-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, llvm (>= ${binary:Version}) +Provides: llvm-libs +Conflicts: llvm-libs +Replaces: llvm-libs, llvm (<< 2.2-3) +Description: common libraries and headers for LLVM compiler for C/C++ + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. + . + This package provides the libraries and headers to develop applications + using llvm. + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm-gcc +++ llvm-2.5+svn20090623/debian/control.in/llvm-gcc @@ -0,0 +1,15 @@ +Package: llvm-gcc-4.2 +Architecture: any +Depends: llvm-dev (>= @UVERSION@), llvm (>= @UVERSION@), ${shlibs:Depends}, ${misc:Depends} +Provides: llvm-gcc, llvm-cfe +Suggests: gcc-4.2-doc +Description: C/C++ front end for LLVM compiler + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. + . + This is only a utility package that contains the C/C++ front-end + used by the compiler, and was created in order to reduce the overall + size of the compiler package itself. Please install the 'llvm' + package to install the actual compiler. + --- llvm-2.5+svn20090623.orig/debian/control.in/llvm-doc +++ llvm-2.5+svn20090623/debian/control.in/llvm-doc @@ -0,0 +1,17 @@ +Package: llvm-doc +Section: doc +Architecture: all +Description: documentation for LLVM (Low-Level Virtual Machine) compiler + The Low-Level Virtual Machine (LLVM) is a collection of libraries and + tools that make it easy to build compilers, optimizers, Just-In-Time + code generators, and many other compiler-related programs. LLVM + uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains all documentation (extensive). + --- llvm-2.5+svn20090623.orig/debian/rules.d/build.mk +++ llvm-2.5+svn20090623/debian/rules.d/build.mk @@ -0,0 +1,65 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +configure: $(configure-stamp) +$(configure-stamp): $(addprefix $(configure-stamp)-,$(builds)) + touch $@ + +build: $(build-stamp) +$(build-stamp): $(addprefix $(build-stamp)-,$(builds)) + touch $@ + +install: $(install-stamp) +$(install-stamp): $(addprefix $(install-stamp)-,$(builds)) + +clean: clean-common +clean-common: + dh_testdir + dh_testroot + dh_clean + $(RM) -r $(stampdir) + $(RM) $(D)/debian/log-check $(D)/debian/logwatch.pid + +.PHONY: configure build install clean clean-% + +prepare-llvm: $(unpack-stamp) $(patch-stamp) $(mkdir-stamp)-$(llvm_builddir) +prepare-gcc: $(unpack-stamp) $(patch-stamp) $(mkdir-stamp)-$(gcc_builddir) + +# llvm +$(addprefix $(configure-stamp)-llvm-,tools all): $(configure-stamp)-llvm +$(configure-stamp)-llvm: prepare-llvm + cd $(llvm_builddir) && \ + ../configure $(confargs_llvm) + touch $@ +$(build-stamp)-llvm-tools: $(configure-stamp)-llvm + $(MAKE) -j$(NJOBS) -C $(llvm_builddir) $(llvm_MAKEOPTS) tools-only VERBOSE=1 + touch $@ +$(build-stamp)-llvm-all: $(configure-stamp)-llvm + $(MAKE) -j$(NJOBS) -C $(llvm_builddir) $(llvm_MAKEOPTS) VERBOSE=1 + touch $@ +$(install-stamp)-llvm-%: $(build-stamp)-llvm-% $(install-stamp)-llvm + touch $@ +$(install-stamp)-llvm: + $(MAKE) -C $(llvm_builddir) install DESTDIR=$(D)/debian/tmp +# llvm-snapshot +$(configure-stamp)-llvm-snapshot: $(configure-stamp-llvm) +$(build-stamp)-llvm-snapshot: $(build-stamp-llvm) +$(install-stamp)-llvm-snapshot: $(install-stamp-llvm) +# llvm-gcc +$(configure-stamp)-llvm-gcc: prepare-gcc + cd $(gcc_builddir) && \ + ../$(gcc_srcdir)/configure $(confargs_gcc) + touch $@ +$(build-stamp)-llvm-gcc: $(configure-stamp)-llvm-gcc + $(MAKE) -j$(NJOBS) -C $(gcc_builddir) $(gcc_MAKEOPTS) + touch $@ +$(install-stamp)-llvm-gcc: $(build-stamp)-llvm-gcc + $(MAKE) -C $(gcc_builddir) install DESTDIR=$(D)/debian/tmp + touch $@ + --- llvm-2.5+svn20090623.orig/debian/rules.d/unpack.mk +++ llvm-2.5+svn20090623/debian/rules.d/unpack.mk @@ -0,0 +1,50 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +unpack: $(unpack-stamp) +$(unpack-stamp): $(addprefix $(unpack-stamp)-,$(tarballs)) + mkdir -p $(@D) + touch $@ + +$(unpack-stamp)-%: + -mkdir $(stampdir) 2>/dev/null + $(RM) -r $($*_srcdir) + case $($*_tarball) in \ + *.bz2) tar -x --bzip2 -f $($*_tarpath);; \ + *.gz) tar -x --gzip -f $($*_tarpath);; \ + *.lzma) lzcat $($*_tarpath) | tar -x -f -;; \ + *) false;; \ + esac + touch $@ + +$(mkdir-stamp)-%: + $(RM) -r $* + mkdir -p $* + touch $@ + +patch: $(patch-stamp) +$(patch-stamp): $(unpack-stamp) + set -e; test -e $(patch-stamp) || \ + for i in `ls -1 $(D)/debian/patches/*.patch || :`; do \ + echo "Applying patch: $$i" && patch -p1 <$$i > /dev/null; \ + done + touch $@ + +unpatch: +ifeq (,$(tarball)) + set -e; ! test -e $(patch-stamp) || \ + for i in `ls -1r $(D)/debian/patches/*.patch || :`; do \ + echo "Reverting patch: $$i" && patch -p1 -R <$$i > /dev/null; \ + done +endif + $(RM) -f $(patch-stamp) + +clean: unpatch + +.PHONY: unpack patch unpatch --- llvm-2.5+svn20090623.orig/debian/rules.d/binary.mk +++ llvm-2.5+svn20090623/debian/rules.d/binary.mk @@ -0,0 +1,73 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +check := $(if $(findstring yes,$(with_check)),$(check-stamp),) +binary binary-indep binary-arch: $(build-stamp) $(check) $(install-stamp) +binary-arch: $(addprefix $(binary-stamp)-,$(packages_arch)) +binary-indep: $(addprefix $(binary-stamp)-,$(packages_indep)) +binary: binary-arch binary-indep + dh_install --list-missing 2>&1 + +debhelper-%: + $(foreach f,$(notdir $(wildcard $(D)/debian/debhelper.in/$*.*)),\ + sed -e "s;@PF@;$(PF);g" \ + -e "s;@GCC_VERSION@;$(GCC_VERSION);g" \ + -e "s;@LLVM_VERSION@;$(LLVM_VERSION);g" \ + $(D)/debian/debhelper.in/$f > $(D)/debian/$f &&) : + +clean: clean-debhelper +clean-debhelper: clean-common + $(RM) $(addprefix debian/,$(notdir $(wildcard $(D)/debian/debhelper.in/*))) + +$(binary-stamp)-%: debhelper-% + @echo Building package: $* + dh_testdir + dh_testroot + dh_installchangelogs -p$* + dh_installdocs -p$* + dh_installexamples -p$* + dh_installman -p$* + dh_installmime -p$* + dh_install -p$* + -if test "x$*" = "xllvm" ; then \ + $(RM) $(D)/debian/llvm.links ; \ + for i in $(shell ls $(D)/debian/tmp/$(PF)/bin); do \ + chrpath -d $(D)/debian/llvm/$(PF)/bin/$$i ; \ + echo "$(PF)/bin/$$i usr/bin/$$i" >> $(D)/debian/llvm.links ; \ + done ; \ + sed -r 's/^(my\s+\$$LLVM_SRC_ROOT\s+=\s+q\{)(.*)(\};$)/\1 $(subst /,\/,$(PF))\/build \3/' \ + -i $(D)/debian/llvm/$(PF)/bin/llvm-config ; \ + sed -r 's/^(my\s+\$$LLVM_OBJ_ROOT\s+=\s+q\{)(.*)(\};$)/\1 $(subst /,\/,$(PF))\/build \3/' \ + -i $(D)/debian/llvm/$(PF)/bin/llvm-config ; \ + fi + -if test "x$*" = "xllvm-snapshot" ; then \ + for i in $(shell ls $(D)/debian/tmp/$(PF)/bin); do \ + chrpath -d $(D)/debian/llvm-snapshot/$(PF)/bin/$$i ; \ + done ; \ + sed -r 's/^(my\s+\$$LLVM_SRC_ROOT\s+=\s+q\{)(.*)(\};$)/\1 $(subst /,\/,$(PF))\/build \3/' \ + -i $(D)/debian/llvm-snapshot/$(PF)/bin/llvm-config ; \ + sed -r 's/^(my\s+\$$LLVM_OBJ_ROOT\s+=\s+q\{)(.*)(\};$)/\1 $(subst /,\/,$(PF))\/build \3/' \ + -i $(D)/debian/llvm-snapshot/$(PF)/bin/llvm-config ; \ + fi + -if test "x$*" = "xllvm-dev" ; then \ + chmod 644 $(D)/debian/$*/$(PF)/build/Makefile* ; \ + find $(D)/debian/$* -type f -name "LICENSE.TXT" | xargs rm -f ; \ + fi + dh_link -p$* + dh_strip -p$* + dh_compress -p$* + dh_fixperms -p$* + dh_installdeb -p$* + dh_shlibdeps -p$* + dh_gencontrol -p$* + dh_md5sums -p$* + dh_builddeb -p$* + touch $@ + +.PHONY: binary binary-arch binary-indep debhelper-% --- llvm-2.5+svn20090623.orig/debian/rules.d/check.mk +++ llvm-2.5+svn20090623/debian/rules.d/check.mk @@ -0,0 +1,30 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +ifeq ($(PKGSOURCE),llvm) + check_dir := $(llvm_builddir) +endif +ifneq (,$(filter llvm-gcc-%,$(PKGSOURCE))) + check_dir := $(gcc_builddir) +endif + +check: $(check-stamp) +$(check-stamp): + chmod +x $(D)/debian/logwatch.sh + -debian/logwatch.sh -t 900 -p $(D)/debian/logwatch.pid \ + -m '\ntestsuite still running ...\n' \ + $(D)/debian/log-check \ + & + @echo BEGIN-testsuite + -$(MAKE) -C $(check_dir) check 2>&1 | tee $(D)/debian/log-check + @echo END-testsuite + touch $@ + + +.PHONY: check --- llvm-2.5+svn20090623.orig/debian/rules.d/control.mk +++ llvm-2.5+svn20090623/debian/rules.d/control.mk @@ -0,0 +1,24 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +ifneq (,$(strip $(BUILDDEPS))) + BUILDDEPS:=, $(BUILDDEPS) +endif + +debian/control: + @echo Regenerating control file... + sed -e "s/@PKGSOURCE@/$(PKGSOURCE)/g" \ + -e "s/ *@BUILDDEPS@/$(BUILDDEPS)/g" \ + -e "s/@UVERSION@/$(UVERSION)/g" \ + $@.in/source $(addprefix $@.in/,$(packages)) > $@ + +control: debian/control +clean: control + +.PHONY: control debian/control --- llvm-2.5+svn20090623.orig/debian/rules.d/vars.mk +++ llvm-2.5+svn20090623/debian/rules.d/vars.mk @@ -0,0 +1,56 @@ +# Copyright (C) 2008 Arthur Loiret +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + + +DISTRIBUTION := $(shell dpkg-parsechangelog | grep ^Distribution | sed -e 's/^Distribution: //') +PKGSOURCE := $(shell dpkg-parsechangelog | grep ^Source | sed -e 's/^Source: //') +VERSION := $(shell dpkg-parsechangelog | grep ^Version | sed -e 's/^Version: //') +PF := /usr/lib/llvm +D := $(CURDIR) + +UVERSION := $(shell echo $(VERSION) | cut -d'~' -f1 | cut -d'-' -f1) + +$(foreach x,$(shell dpkg-architecture | sed -e 's/=/?=/'),$(eval $x)) + +NJOBS := 1 +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NJOBS := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else + # disabled + ifeq (0,1) + NCPUS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) + NJOBS := $(shell if test $(NCPUS) -gt 1; then echo `expr $(NCPUS) + 1`; \ + else echo $(NCPUS); fi) + endif +endif + +llvm_builddir := build-llvm + +gcc_version := 4.2 +gcc_tarpath := $(firstword $(wildcard $(D)/llvm-gcc-$(gcc_version)*.tar.* \ + /usr/src/llvm/llvm-gcc-$(gcc_version)*.tar.*)) +gcc_tarball := $(notdir $(gcc_tarpath)) +gcc_srcdir := $(subst -dfsg,,$(subst .tar$(suffix $(gcc_tarball)),,$(gcc_tarball))) +gcc_builddir := build-gcc + + +stampdir := $(D)/debian/stamps +control-stamp := $(stampdir)/control-stamp +mkdir-stamp := $(stampdir)/mkdir-stamp +unpack-stamp := $(stampdir)/unpack-stamp +patch-stamp := $(stampdir)/patch-stamp +configure-stamp := $(stampdir)/configure-stamp +build-stamp := $(stampdir)/build-stamp +check-stamp := $(stampdir)/check-stamp +install-stamp := $(stampdir)/install-stamp +binary-stamp := $(stampdir)/binary-stamp + + +packages_indep := $(strip $(shell dh_listpackages -i)) +packages_all := $(strip $(shell dh_listpackages -s)) +packages_arch := $(filter-out $(packages_indep),$(packages_all)) --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-gcc-4.2.install +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-gcc-4.2.install @@ -0,0 +1 @@ +debian/tmp/@PF@ @PF@/ --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm.prerm +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm.prerm @@ -0,0 +1,11 @@ +#!/bin/sh -e + +if test "$1" = "remove"; then + if test -x /usr/sbin/update-binfmts; then + update-binfmts --package llvm \ + --remove llvm /usr/bin/lli || true + fi +fi + +#DEBHELPER# + --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-examples.examples +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-examples.examples @@ -0,0 +1 @@ +examples/* --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-doc.install +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-doc.install @@ -0,0 +1,2 @@ +debian/tmp/@PF@/docs/llvm/html usr/share/doc/llvm-doc/ +debian/tmp/@PF@/docs/llvm/ps usr/share/doc/llvm-doc/ --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-snapshot.install +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-snapshot.install @@ -0,0 +1,13 @@ +debian/tmp/@PF@/bin/* @PF@/bin/ +debian/tmp/@PF@/lib/* @PF@/lib/ +debian/tmp/@PF@/include/* @PF@/include/ + +debian/tmp/@PF@/docs/llvm/html usr/share/doc/llvm-snapshot/ +debian/tmp/@PF@/docs/llvm/ps usr/share/doc/llvm-snapshot/ + +build-llvm/Makefile.common @PF@/build/ +build-llvm/Makefile.config @PF@/build/ +build-llvm/config.status @PF@/build/ +Makefile.rules @PF@/build/ +configure @PF@/build/ +autoconf/ @PF@/build/ --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-doc.dirs +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-doc.dirs @@ -0,0 +1 @@ +usr/share/doc/llvm-doc --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm.links +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm.links @@ -0,0 +1 @@ +# AUTOGENERATED in debian/rules.d/build.mk. --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm.postinst +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm.postinst @@ -0,0 +1,9 @@ +#!/bin/sh -e + +if test "$1" = "configure"; then + if test -x /usr/sbin/update-binfmts; then + update-binfmts --import llvm.binfmt || true + fi +fi + +#DEBHELPER# --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-examples.dirs +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-examples.dirs @@ -0,0 +1 @@ +usr/share/doc/llvm-examples --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-dev.dirs +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-dev.dirs @@ -0,0 +1,2 @@ +@PF@/lib +@PF@/build --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-dev.install +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-dev.install @@ -0,0 +1,9 @@ +debian/tmp/@PF@/lib/* @PF@/lib/ +debian/tmp/@PF@/include/* usr/include/ + +build-llvm/Makefile.common @PF@/build/ +build-llvm/Makefile.config @PF@/build/ +build-llvm/config.status @PF@/build/ +Makefile.rules @PF@/build/ +configure @PF@/build/ +autoconf/ @PF@/build/ --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm-examples.links +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm-examples.links @@ -0,0 +1,3 @@ +@PF@/build/Makefile.common usr/share/doc/llvm-examples/Makefile.common +@PF@/build/Makefile.config usr/share/doc/llvm-examples/Makefile.config +@PF@/build/Makefile.rules usr/share/doc/llvm-examples/Makefile.rules --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm.dirs +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm.dirs @@ -0,0 +1,6 @@ +@PF@/bin +usr/bin +usr/include +usr/share/man/man1 +etc/llvm +usr/share/binfmts --- llvm-2.5+svn20090623.orig/debian/debhelper.in/llvm.install +++ llvm-2.5+svn20090623/debian/debhelper.in/llvm.install @@ -0,0 +1,3 @@ +debian/tmp/@PF@/bin/* @PF@/bin/ +debian/tmp/@PF@/share/man/man1/* usr/share/man/man1/ +debian/llvm.binfmt usr/share/binfmts/ --- llvm-2.5+svn20090623.orig/debian/patches/0006-Build-LLVM-with-O2.patch +++ llvm-2.5+svn20090623/debian/patches/0006-Build-LLVM-with-O2.patch @@ -0,0 +1,10 @@ +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -236,6 +236,7 @@ + OPTIMIZE_OPTION := -O2 + endif + endif ++OPTIMIZE_OPTION := -O2 + + ifeq ($(ENABLE_OPTIMIZED),1) + BuildMode := Release --- llvm-2.5+svn20090623.orig/debian/patches/0002-Fix-llvm-config-script.patch +++ llvm-2.5+svn20090623/debian/patches/0002-Fix-llvm-config-script.patch @@ -0,0 +1,25 @@ +--- a/tools/llvm-config/llvm-config.in.in ++++ b/tools/llvm-config/llvm-config.in.in +@@ -89,8 +89,11 @@ + $INCLUDEDIR = "$LLVM_SRC_ROOT/include"; + } else { + # If installed, ignore the prefix the tree was configured with, use the +- # current prefix. +- $PREFIX = $ABS_RUN_DIR; ++ # Debian dirs. ++ $PREFIX = "/usr/lib/llvm"; ++ $INCLUDEDIR = "/usr/include/llvm"; ++ $LIBDIR = "/usr/lib/llvm/lib"; ++ $BINDIR = "/usr/bin"; + } + + sub usage; +@@ -167,7 +170,7 @@ + # Handle any arguments which require building our dependency graph. + if ($want_libs || $want_libnames || $want_libfiles) { + my @libs = expand_dependencies(@components); +- print join(' ', fix_library_names(@libs)), "\n" if ($want_libs); ++ print join(' ', fix_library_names(@libs)), " -L$LIBDIR\n" if ($want_libs); + print join(' ', @libs), "\n" if ($want_libnames); + print join(' ', fix_library_files(@libs)), "\n" if ($want_libfiles); + } --- llvm-2.5+svn20090623.orig/debian/patches/pr4427.patch +++ llvm-2.5+svn20090623/debian/patches/pr4427.patch @@ -0,0 +1,55 @@ +Index: llvm/include/llvm/Config/config.h.cmake +=================================================================== +--- llvm.orig/include/llvm/Config/config.h.cmake ++++ llvm/include/llvm/Config/config.h.cmake +@@ -582,4 +582,4 @@ + #cmakedefine strdup ${strdup} + + /* Native LLVM architecture */ +-#cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH} ++#cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH}Target +Index: llvm/autoconf/configure.ac +=================================================================== +--- llvm.orig/autoconf/configure.ac ++++ llvm/autoconf/configure.ac +@@ -447,7 +447,8 @@ AC_SUBST(TARGETS_TO_BUILD,$TARGETS_TO_BU + # If so, define LLVM_NATIVE_ARCH to that LLVM target. + for a_target in $TARGETS_TO_BUILD; do + if test "$a_target" = "$LLVM_NATIVE_ARCH"; then +- AC_DEFINE_UNQUOTED(LLVM_NATIVE_ARCH,$LLVM_NATIVE_ARCH, ++ LLVM_NATIVE_ARCHTARGET="${LLVM_NATIVE_ARCH}Target" ++ AC_DEFINE_UNQUOTED(LLVM_NATIVE_ARCH,$LLVM_NATIVE_ARCHTARGET, + [LLVM architecture name for the native architecture, if available]) + fi + done +Index: llvm/include/llvm/Target/TargetSelect.h +=================================================================== +--- llvm.orig/include/llvm/Target/TargetSelect.h ++++ llvm/include/llvm/Target/TargetSelect.h +@@ -50,9 +50,9 @@ namespace llvm { + inline bool InitializeNativeTarget() { + // If we have a native target, initialize it to ensure it is linked in. + #ifdef LLVM_NATIVE_ARCH +-#define DoInit2(TARG, MOD) llvm::Initialize ## TARG ## MOD() +-#define DoInit(T, M) DoInit2(T, M) +- DoInit(LLVM_NATIVE_ARCH, Target); ++#define DoInit2(TARG) llvm::Initialize ## TARG () ++#define DoInit(T) DoInit2(T) ++ DoInit(LLVM_NATIVE_ARCH); + return false; + #undef DoInit + #undef DoInit2 +--- ./configure.x 2009-06-23 11:53:44.000000000 +0000 ++++ ./configure 2009-06-23 11:55:08.000000000 +0000 +@@ -4977,9 +4972,10 @@ + # If so, define LLVM_NATIVE_ARCH to that LLVM target. + for a_target in $TARGETS_TO_BUILD; do + if test "$a_target" = "$LLVM_NATIVE_ARCH"; then ++ LLVM_NATIVE_ARCHTARGET="${LLVM_NATIVE_ARCH}Target" + + cat >>confdefs.h <<_ACEOF +-#define LLVM_NATIVE_ARCH $LLVM_NATIVE_ARCH ++#define LLVM_NATIVE_ARCH $LLVM_NATIVE_ARCHTARGET + _ACEOF + + fi --- llvm-2.5+svn20090623.orig/debian/patches/0003-Debian-version-info-and-bugreport.patch +++ llvm-2.5+svn20090623/debian/patches/0003-Debian-version-info-and-bugreport.patch @@ -0,0 +1,34 @@ +--- a/configure ++++ b/configure +@@ -717,7 +717,7 @@ + PACKAGE_TARNAME='-llvm-' + PACKAGE_VERSION='2.6svn' + PACKAGE_STRING='llvm 2.6svn' +-PACKAGE_BUGREPORT='llvmbugs@cs.uiuc.edu' ++PACKAGE_BUGREPORT='pkg-llvm-team@lists.alioth.debian.org' + + ac_unique_file="lib/VMCore/Module.cpp" + # Factoring default headers for most tests. +--- a/lib/Support/CommandLine.cpp (revision 66269) ++++ b/lib/Support/CommandLine.cpp (working copy) +@@ -1128,6 +1128,9 @@ + #ifdef LLVM_VERSION_INFO + cout << LLVM_VERSION_INFO; + #endif ++#ifdef LLVM_DEBIAN_INFO ++ cout << LLVM_DEBIAN_INFO; ++#endif + cout << "\n "; + #ifndef __OPTIMIZE__ + cout << "DEBUG build"; +--- a/Makefile.rules (revision 66269) ++++ b/Makefile.rules (working copy) +@@ -477,7 +477,7 @@ + $(patsubst %,-I%/include,\ + $(PROJ_OBJ_ROOT) $(PROJ_SRC_ROOT) \ + $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \ +- $(CPP.BaseFlags) ++ $(CPP.BaseFlags) $(DebianOpts) + + ifeq ($(BUILD_COMPONENT), 1) + Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CompileCommonOpts) -c --- llvm-2.5+svn20090623.orig/debian/patches/0004-Fix-TOOLDIR-path-for-gccas-and-gccld.patch +++ llvm-2.5+svn20090623/debian/patches/0004-Fix-TOOLDIR-path-for-gccas-and-gccld.patch @@ -0,0 +1,52 @@ +--- a/tools/gccas/Makefile ++++ b/tools/gccas/Makefile +@@ -10,18 +10,21 @@ + + include $(LEVEL)/Makefile.common + ++# Debian install path ++TOOLDIR = /usr/lib/llvm/bin ++ + install-local:: $(PROJ_bindir)/gccas + + $(PROJ_bindir)/gccas : gccas.sh Makefile + $(Echo) Installing gccas shell script. +- $(Verb) sed "s#@TOOLDIR@#$(PROJ_bindir)#" $< > $@ ++ $(Verb) sed "s#@TOOLDIR@#$(TOOLDIR)#" $< > $@ + $(Verb) chmod 0755 $@ + + all-local:: $(ToolDir)/gccas + + $(ToolDir)/gccas : gccas.sh Makefile + $(Echo) Making $(ToolDir)/gccas shell script. +- $(Verb) sed "s#@TOOLDIR@#$(ToolDir)#" $< > $@ ++ $(Verb) sed "s#@TOOLDIR@#$(TOOLDIR)#" $< > $@ + $(Verb) chmod 0755 $@ + + clean-local:: +--- a/tools/gccld/Makefile (revision 66269) ++++ b/tools/gccld/Makefile (working copy) +@@ -11,18 +11,21 @@ + + include $(LEVEL)/Makefile.common + ++# Debian install path ++TOOLDIR = /usr/lib/llvm/bin ++ + install-local:: $(PROJ_bindir)/gccld + + $(PROJ_bindir)/gccld : gccld.sh Makefile + $(Echo) Installing gccld shell script. +- $(Verb) sed "s#@TOOLDIR@#$(PROJ_bindir)#" $< > $@ ++ $(Verb) sed "s#@TOOLDIR@#$(TOOLDIR)#" $< > $@ + $(Verb) chmod 0755 $@ + + all-local:: $(ToolDir)/gccld + + $(ToolDir)/gccld : gccld.sh Makefile + $(Echo) Making $(ToolDir)/gccld shell script. +- $(Verb) sed "s#@TOOLDIR@#$(ToolDir)#" $< > $@ ++ $(Verb) sed "s#@TOOLDIR@#$(TOOLDIR)#" $< > $@ + $(Verb) chmod 0755 $@ + + clean-local:: --- llvm-2.5+svn20090623.orig/debian/patches/0001-Update-configure-script-for-kfreebsd-gnu-and-hurd.patch +++ llvm-2.5+svn20090623/debian/patches/0001-Update-configure-script-for-kfreebsd-gnu-and-hurd.patch @@ -0,0 +1,23 @@ +--- a/configure ++++ b/configure +@@ -2275,7 +2275,7 @@ + llvm_cv_no_link_all_option="-Wl,-noall_load" + llvm_cv_os_type="Darwin" + llvm_cv_platform_type="Unix" ;; +- *-*-freebsd*) ++ *-*-freebsd* | *-*-kfreebsd-gnu) + llvm_cv_link_all_option="-Wl,--whole-archive" + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" + llvm_cv_os_type="FreeBSD" +@@ -2310,6 +2310,11 @@ + llvm_cv_no_link_all_option="-Wl,--no-whole-archive" + llvm_cv_os_type="Linux" + llvm_cv_platform_type="Unix" ;; ++ *-*-gnu*) ++ llvm_cv_link_all_option="-Wl,--whole-archive" ++ llvm_cv_no_link_all_option="-Wl,--no-whole-archive" ++ llvm_cv_os_type="GNU" ++ llvm_cv_platform_type="Unix" ;; + *-*-solaris*) + llvm_cv_link_all_option="-Wl,-z,allextract" + llvm_cv_no_link_all_option="-Wl,-z,defaultextract" --- llvm-2.5+svn20090623.orig/debian/patches/pr4429.patch +++ llvm-2.5+svn20090623/debian/patches/pr4429.patch @@ -0,0 +1,33 @@ +Index: llvm/lib/ExecutionEngine/CMakeLists.txt +=================================================================== +--- llvm.orig/lib/ExecutionEngine/CMakeLists.txt 2009-06-22 09:42:08.000000000 +0200 ++++ llvm/lib/ExecutionEngine/CMakeLists.txt 2009-06-22 12:52:24.000000000 +0200 +@@ -1,4 +1,4 @@ +-add_partially_linked_object(LLVMExecutionEngine ++add_llvm_library(LLVMExecutionEngine + ExecutionEngine.cpp + ExecutionEngineBindings.cpp + ) +Index: llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt +=================================================================== +--- llvm.orig/lib/ExecutionEngine/Interpreter/CMakeLists.txt 2009-06-22 09:42:08.000000000 +0200 ++++ llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt 2009-06-22 12:52:24.000000000 +0200 +@@ -1,4 +1,4 @@ +-add_partially_linked_object(LLVMInterpreter ++add_llvm_library(LLVMInterpreter + Execution.cpp + ExternalFunctions.cpp + Interpreter.cpp +Index: llvm/lib/ExecutionEngine/JIT/CMakeLists.txt +=================================================================== +--- llvm.orig/lib/ExecutionEngine/JIT/CMakeLists.txt 2009-06-22 09:42:08.000000000 +0200 ++++ llvm/lib/ExecutionEngine/JIT/CMakeLists.txt 2009-06-22 12:52:24.000000000 +0200 +@@ -1,7 +1,7 @@ + # TODO: Support other architectures. See Makefile. + add_definitions(-DENABLE_X86_JIT) + +-add_partially_linked_object(LLVMJIT ++add_llvm_library(LLVMJIT + Intercept.cpp + JIT.cpp + JITDwarfEmitter.cpp