Update of /cvsroot/fink/dists/10.7/stable/main/finkinfo/languages
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv17631

Added Files:
        llvm33.info llvm33.patch 
Log Message:
llvm/clang release 3.3


--- NEW FILE: llvm33.info ---
Info3: <<
Package: llvm33
Version: 3.3
Revision: 0
Description: Modular and reusable compiler
License: BSD
Maintainer: David Fang <fang...@users.sourceforge.net>

BuildDepends: <<
        fink (>= 0.28), 
        cmake (>= 2.8.10.2-1), 
# ccache is optional, for accelerating rebuilds
#       ccache,
# polly plug-in needs isl,cloog,gmp
        isl (>=0.11.1), 
        cloog-org2 (>= 0.18), 
        gmp5,
# build scripts need python2.7
        python27,
# xml and lzma are used to build an uninstalled bin/c-index-test, so bdep-only
        libxml2,
        liblzma5
<<
Depends: <<
        isl-shlibs (>=0.11.1), 
        cloog-org2-shlibs (>= 0.18),
        libgmpxx5-shlibs,
        gmp5-shlibs
<<

Source: http://llvm.org/releases/%v/llvm-%v.src.tar.gz
Source-MD5: 40564e1dc390f9844f1711c08b08e391
Source2: http://llvm.org/releases/%v/cfe-%v.src.tar.gz
Source2-MD5: 8284891e3e311829b8e44ac813d0c9ef
Source3: http://llvm.org/releases/%v/compiler-rt-%v.src.tar.gz
Source3-MD5: 9c129ce24514467cfe492cf2fed8e2c4
Source4: http://llvm.org/releases/%v/polly-%v.src.tar.gz
Source4-MD5: 7f391e63c46181503a963ddf5adbb19e
# Source5: http://llvm.org/releases/%v/test-suite-%v.src.tar.gz
# Source5-MD5: d8e16facb5ce65bd36dc9ff49e3243e5
# libcxxabi is not recommended, libc++ is not ready yet

SourceDirectory: llvm-%v.src
# may eventually split out development files
BuildDependsOnly: false
UseMaxBuildJobs: true

PatchFile: %n.patch
PatchFile-MD5: 719586edb9e0d0e7e8d4c691f7c89757
PatchScript: <<
        #!/bin/sh -ev
        darwin_vers=`uname -r | cut -d. -f1`
        # relocated a few auxiliary directories where they are expected
        pushd tools
        ln -f -s ../../cfe-%v.src ./clang
        ln -f -s ../../polly-%v.src ./polly
        popd
        pushd projects
        ln -f -s ../../compiler-rt-%v.src compiler-rt
# uncomment the next line to enable test-suite (huge):
#       ln -f -s ../../test-suite-%v.src test-suite
        popd
#       %{default_script}
        sed -e 's|@FINK_PREFIX@|%p|g' -e "s|@DARWIN_VERSION@|$darwin_vers|" 
%{PatchFile} | patch -p1

        # Do not want -DNDEBUG, cause linker errors (undef symbols)
        # LLVM_ENABLE_ASSERTIONS:ON should have removed -DNDEBUG
        # but it doesn't, so hack it out of cmake file
        sed -i.orig -e '/-DNDEBUG/s|.*|#&|' 
cmake/modules/HandleLLVMOptions.cmake

        # point hard-coded paths to system g++-4.0.1's C++ includes
        # remove references to g++-4.2.1, never existed in Xcode 2.5
        if test "$darwin_vers" != 10
        then sed -i.orig -e "s|darwin10|darwin$darwin_vers|g" \
                tools/clang/lib/Frontend/InitHeaderSearch.cpp
        fi
        if test ! -d /usr/include/c++/4.0.0
        then sed -i.orig2 -e '/GnuCPlusPlusInclude.*4\.0\.0/,/);/d' \
                tools/clang/lib/Frontend/InitHeaderSearch.cpp
        fi
        if test ! -d /usr/include/c++/4.2.1
        then sed -i.orig2 -e '/GnuCPlusPlusInclude.*4\.2\.1/,/);/d' \
                tools/clang/lib/Frontend/InitHeaderSearch.cpp
        fi

        # explicit template instantiation (needed for 10.7)
        { echo '#include "llvm/Analysis/Dominators.h"' ; \
        echo '#include "llvm/Assembly/Writer.h"' ; \
        grep -e namespace -e EXTERN_TEMPLATE \
                include/llvm/Analysis/Dominators.h | \
        sed -e 's/EXTERN_TEMPLATE_INSTANTIATION(/template /' -e 's/);/;/' ; \
        } > lib/Analysis/Dominators.cpp
        sed -i.orig -e '/EXTERN_TEMPLATE_INSTANTIATION/s|^|// |' 
include/llvm/Analysis/Dominators.h
        sed -i.orig -e '/DomPrinter/a\
  Dominators.cpp\
' lib/Analysis/CMakeLists.txt

        # ld warning about binding of _abort and _raise symbols vs. libSystem's
        # suggests -bind_at_load
#       cp lib/Support/CMakeLists.txt{,.orig}
#       echo "SET_TARGET_PROPERTIES(LLVMSupport PROPERTIES LINK_FLAGS 
-Wl,-bind_at_load)" >> lib/Support/CMakeLists.txt

# needed for gcc-fsf-4.x only
#       sed -i.orig2 -e 's|compatibility_version|dylib_&|' 
tools/clang/tools/libclang/CMakeLists.txt

        # projects/test-suite expects built llvm/clang to have been configured
        # but sadly, we used cmake; don't include $llvmobjdir/Makefile.config
        # TODO: replace cmake build with autoconf'd build
        # sed -i.orig -e 's|HAS_LLVM := 1|HAS_LLVM := 0|' 
projects/test-suite/Makefile.config.in
<<
CompileScript: <<
        #!/bin/sh -ev
        # just always build these archs
        case "%m" in
        powerpc*) TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=PowerPC" ;;
        ppc*) TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=PowerPC" ;;
        i386*) TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=X86" ;;
        x86*) TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=X86" ;;
        esac
        echo "Target option: $TARGET_ARCHS"
        # to enable cross-compiling to other archs, uncomment the following:
        # TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=X86;PowerPC;ARM"
        # TARGET_ARCHS="-DLLVM_TARGETS_TO_BUILD=all"
        CMAKE_OPTIONS="$TARGET_ARCHS"

        # automatically use ccache if detected
        # ccache recommended, but not required
        # comment-out the next line if ccache is not desired
        test -x $p/bin/ccache && CCACHE=ccache || CCACHE=
        export CCACHE

        # set up some possible stage-1 compilers
        fsfgccv=4.6
        # wrap ccache into single cmd b/c cmake can't handle "ccache g++"
        mkdir ../opt-bin
        pushd ../opt-bin
        { echo "#!/bin/sh" ; echo 'exec $CCACHE gcc "$@"' ; } > ccgcc
        { echo "#!/bin/sh" ; echo 'exec $CCACHE g++ "$@"' ; } > ccg++
        { echo "#!/bin/sh" ; echo 'exec $CCACHE gcc-4.2 "$@"' ; } > ccgcc-4.2
        { echo "#!/bin/sh" ; echo 'exec $CCACHE g++-4.2 "$@"' ; } > ccg++-4.2
#       { echo "#!/bin/sh" ; echo 'exec $CCACHE 'gcc-fsf-$fsfgccv' "$@"' ; } > 
ccgcc-$fsfgccv
#       { echo "#!/bin/sh" ; echo 'exec $CCACHE 'g++-fsf-$fsfgccv' "$@"' ; } > 
ccg++-$fsfgccv
        # also setup bootstrap stage compilers
        # yes, ccache 3.1 supports compiler binary hashing
        { echo "#!/bin/sh" ; echo 'exec $CCACHE st1-clang "$@"' ; } > 
cc-st1-clang
        { echo "#!/bin/sh" ; echo 'exec $CCACHE st1-clang++ "$@"' ; } > 
cc-st1-clang++
        { echo "#!/bin/sh" ; echo 'exec $CCACHE st2-clang "$@"' ; } > 
cc-st2-clang
        { echo "#!/bin/sh" ; echo 'exec $CCACHE st2-clang++ "$@"' ; } > 
cc-st2-clang++

        chmod +x cc*
        export PATH=`pwd`:$PATH
        popd

        CMAKE_OPTIONS="$CMAKE_OPTIONS -DBUILD_SHARED_LIBS:BOOL=ON 
-DCMAKE_C_FLAGS=-fno-common -DCMAKE_CXX_FLAGS=-fno-common"

        # stage 1 compiler (try to use ccache if available)
        # gcc-4.0.1 FAILS on darwin9
        darwin_vers=`uname -r | cut -d. -f1`
        case "$darwin_vers" in
        8)
          export CC=ccgcc
          export CXX=ccg++
#         export CC=ccgcc-$fsfgccv
#         export CXX=ccg++-$fsfgccv
          ;;
        9)
          export CC=ccgcc-4.2
          export CXX=ccg++-4.2
          ;;
        *)
          export CC=ccgcc
          export CXX=ccg++
          ;;
        # on darwin11+, fink redirects gcc/g++ to clang/clang++ via PATH
        esac

        abssrcdir=%b
        relsrcdir=../../llvm-%v.src
        # gcc-4.0.1 workaround for units failing -O1 and higher, fallback to -O0
        compile_lib_unit() {
        test $# = 3 || { echo "Error calling compile_lib_unit." ; exit 1; }
        builddir=$PWD
        # $1 = source lib dir
        # $2 = source file path (relative to $1)
        # $3 = lib name
        libdir=$1
        srcfile=$1/$2
        lib=LLVM$3
        subdir=`dirname $srcfile`
        target=CMakeFiles/$lib.dir/$2.o
        if test ! -f $target
        then
        echo "Compiling $srcfile to $target"
        pushd $libdir
        # mkdir -p `dirname $target`
        $CXX \
        -DLLVMAnalysis_EXPORTS -D_DEBUG \
        -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS \
        -fno-common -fPIC \
        -fvisibility-inlines-hidden \
        -Wall -W -Wno-unused-parameter -Wwrite-strings 
-Wno-missing-field-initializers \
        -pedantic -Wno-long-long -Wno-uninitialized -Wnon-virtual-dtor 
-fno-rtti \
        -fPIC \
        -I$builddir/$subdir \
        -I$abssrcdir/$subdir \
        -I$builddir/include \
        -I$abssrcdir/include \
        -I$abssrcdir/tools/polly/include \
        -fno-exceptions \
        -o $target \
        -c $abssrcdir/$srcfile
        # -g
        popd
        fi
        }

        # more of the same workaround
        recompile_known_units() {
        echo "Recompiling known problematic units with -O0."
        for f in \
        lib/Analysis:{ScalarEvolution{,Expander},LoopPass}.cpp:Analysis \
        
lib/Transforms/Utils:{BreakCriticalEdges,LoopUnroll,LoopSimplify}.cpp:TransformUtils
 \
        
lib/Transforms/Scalar:{LoopInstSimplify,LoopRotation,LoopUnswitch}.cpp:ScalarOpts
 \
        lib/Transforms/Vectorize:LoopVectorize.cpp:Vectorize \
        
lib/CodeGen:{MachineBasicBlock,MachineBlockPlacement,MachineTraceMetrics,PHIElimination}.cpp:CodeGen
 \
        tools/polly/lib:CodeGen/LoopGenerators.cpp:Polly \

        do
        saveIFS=$IFS
        IFS=:
        set -- $f
        dir=$1
        src=$2
        lib=$3
        IFS=$saveIFS
        # echo "$src -> $lib"
        compile_lib_unit $dir $src $lib
        done
        }

        build_type=Release
#       build_type=RelWithDebInfo
        # do not let cmake auto-detect OSX_SYSROOT
        CMAKE_OPTIONS="$CMAKE_OPTIONS 
-DCMAKE_INSTALL_PREFIX:PATH=%p/opt/llvm-%v 
-DCMAKE_BUILD_TYPE:STRING=$build_type -DLLVM_LIT_ARGS:STRING=-v 
-DLLVM_ENABLE_ASSERTIONS:BOOL=ON -DPYTHON_EXECUTABLE:FILEPATH=%p/bin/python2.7 
-DCMAKE_OSX_SYSROOT:STRING=/ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="

#       the --max-time option applies to aggregate test time, not individual :(
#       CMAKE_OPTIONS="$CMAKE_OPTIONS -DLLVM_LIT_ARGS="-s -v --max-time=14400"

        # trying to disable optimization flags on non-trustworthy compilers
        # worked around in recompile_known_units(), and now using RelWithDebInfo
        ccvers=`$CXX -v 2>&1 | tail -n 1 | cut -d\  -f3`
        if test $ccvers = 4.0.1
        then STAGE1_CMAKE_OPTIONS='-DCMAKE_C_FLAGS_RELEASE:STRING=-O2 
-DCMAKE_CXX_FLAGS_RELEASE:STRING=-O2'
        fi
        # else default to -O3

        echo "######## START of BOOTSTRAP STAGE 1: building llvm/clang with the 
system compiler"
        # wd: %b
        mkdir -p ../build/stage1
        pushd ../build/stage1
        echo "CMAKE_OPTIONS=$CMAKE_OPTIONS $STAGE1_CMAKE_OPTIONS"
        # Technically, we only need the native back-end in stage 1...
        cmake $CMAKE_OPTIONS $STAGE1_CMAKE_OPTIONS $relsrcdir
        # kill -DNDEBUG with fire
        sed -i.orig -e 's| -DNDEBUG||g' CMakeCache.txt

        # first make fails, but we have to run it first and then fix some deps
        make -k || recompile_known_units && make || make VERBOSE=1
        cd ..
        ln -s stage1 last
        popd
        # wd: %b
        # link stage1 compilers into opt-bin for next stage
        pushd ../opt-bin
        ln -s ../build/stage1/bin/clang st1-clang
        ln -s ../build/stage1/bin/clang++ st1-clang++
        popd
        # wd: %b
        # create some empty test logs, which we may overwrite and install to 
docs
        for f in ../build/stage1/{llvm,clang,polly}-%v-check.log
        do echo "Stage 1 Tests were not run." > $f
        done
        echo "######## END of BOOTSTRAP STAGE 1: built llvm/clang with the 
system compiler"

        # don't bootstrap on powerpc-darwinX, codegen issues
        test "%m" != "powerpc" || exit 0
        test "$darwin_vers" != 8 || exit 0
#       If you do not wish to bootstrap, just uncomment the next line:
#       exit

        echo "######## START of BOOTSTRAP STAGE 2: building llvm/clang with 
stage 1 clang"
# TODO: if we want to use stage-1-built Polly in stage-2's build, 
# we may need to set LD_LIBRARY_PATH to the previous stage's build area...
        export CCACHE_COMPILERCHECK=content
        export CC=cc-st1-clang
        export CXX=cc-st1-clang++
        mkdir -p ../build/stage2
        pushd ../build/stage2
        cmake $CMAKE_OPTIONS $relsrcdir
        make -k || make VERBOSE=1
        cd ..
        rm -f last
        ln -s stage2 last
        popd
        # wd: %b
        pushd ../opt-bin
        ln -s ../build/stage2/bin/clang st2-clang
        ln -s ../build/stage2/bin/clang++ st2-clang++
        popd
        # wd: %b
        for f in ../build/stage2/{llvm,clang,polly}-%v-check.log
        do echo "Stage 2 Tests were not run." > $f
        done
        echo "######## END of BOOTSTRAP STAGE 2: built llvm/clang with stage 1 
clang"

        echo "######## START of BOOTSTRAP STAGE 3: building llvm/clang with 
stage 2 clang"
        export CC=cc-st2-clang
        export CXX=cc-st2-clang++
        export CCACHE_DISABLE=1
        mkdir -p ../build/stage3
        pushd ../build/stage3
        cmake $CMAKE_OPTIONS $relsrcdir
        make -k || make VERBOSE=1
        cd ..
        rm -f last
        ln -s stage3 last
        popd
        # wd: %b
        for f in ../build/stage3/{llvm,clang,polly}-%v-check.log
        do echo "Stage 3 Tests were not run." > $f
        done
        echo "######## END of BOOTSTRAP STAGE 3: built llvm/clang with stage 2 
clang"
        # comparison!
        # diff-ing binaries directly doesn't quite work because paths to build
        # locations differ 'stage2' vs. 'stage3'.
        pushd ../build
        # compare pre-linked object files directly
        # diff -r stage{2,3}/lib
        # diff -r stage{2,3}/bin

        diffs=
        diff_obj_dir () {
        # $1 is reference dir
        # $2 is target dir
        for f in $2/*
        do
        if test -d $f
        then
          diff_obj_dir $1/`basename $f` $f
        else
        case $f in
        *.s.tmp.o) ;;
        *.o)
          if test -f $1/`basename $f`
          then
          diff $1/`basename $f` $f && echo "matches: $f" || diffs="$diffs $f"
          fi
          ;;
        esac
        fi
        done
        }

        diff_obj_dir stage2 stage3 | grep -v basename
        err=
        echo "Objects that differ:"
        for f in $diffs
        do
        case $f in
        stage3/lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o)
          echo "  $f -- OK, due to __DATE__, __TIME__ cpp macros" ;;
        *) echo "  $f -- not OK" ; err=1 ;;
        esac
        done
        test -z "$err"
        echo "######## 3-STAGE BOOTSTRAP of llvm/clang PASSED!"
        popd
<<
InfoTest: <<
# need bash because /bin/sh 2.0 on darwin8 is missing support for pipefail
# coreutils for gtimeout for tests
        TestDepends: <<
                bash (>= 3.0),
                coreutils
        <<
        TestScript: <<
        #!/bin/sh -ev

        # test suite requires newer bash than /bin/bash 2.0 for pipefail
        # test the pipefail option of this shell first
        set -o pipefail || {
        sed -i.orig -e "/bashPath = None/s|None|'%p/bin/bash'|" 
utils/lit/lit/LitConfig.py
        test -x %p/bin/bash || { echo "Error: Fink-built bash >= 3.0 required 
for pipefail!" ; exit 1; }
        }
        # force time limit per test (prefix each command-line)
        sed -i.orig -e "/script\.append/s|ln|'gtimeout 5m '+&|" 
utils/lit/lit/TestRunner.py

        # need path to bootstrapping compiler
        pushd ../opt-bin
        export PATH=`pwd`:$PATH
        popd
        cd ../build/last
#       echo "******** Running included LLVM and clang tests ... ********"
#       { make -k TESTARGS=-v check-all 2>&1 || : ;} | tee 
llvm-clang-%v-check.log
        echo "******** Running included LLVM tests ... ********"
        { make -k TESTARGS=-v check 2>&1 || : ;} | tee llvm-%v-check.log
        echo "******** Running included clang tests ... ********"
        { make -k TESTARGS=-v check-clang 2>&1 || : ;} | tee clang-%v-check.log
        echo "******** Running included polly tests ... ********"
        ( cd tools/polly/test ; make -k TESTARGS=-v polly-test 2>&1 || : ;) | 
tee polly-%v-check.log
        # TODO: compiler-rt tests
#       echo "******** Running massive test-suite ... ********"
#       ( cd projects/test-suite ; make -k 2>&1 || : ;) | tee 
test-suite-%v-check.log
        <<
        TestSuiteSize: medium
<<
InstallScript: <<
        #!/bin/sh -ev
        iprefix=%i/opt/llvm-%v
        prefix=%p/opt/llvm-%v
        pushd ../build/last
                make -j1 install/fast DESTDIR="%d"
        popd

        # boilerplate script for fixing post-cmake-install install_names
        # expect to find in lib/
        pushd $iprefix
        for f in `find . -name '*.dylib'` `find . -name '*.so'`
        do
                if test ! -L $f
                then
                dir=`dirname $f | sed -e 's|^\.\/||'`
                b=`basename $f`
                pushd $dir 2> /dev/null
                install_name_tool -id "$prefix/$dir/$b" "$b"
                case $f in
                *.dylib) filt="sed 1,2d" ;;
                *.so) filt="sed 1d" ;;
                esac
                deplibs=`otool -L $b | $filt | awk '{print $1;}' | tr '\n' ' '`
                for d in $deplibs
                do
                # prefix absolute paths to llvm/clang's lib installation
                # caution: assumes dependent libraries are in same dir
                case $d in
                /*) ;;
                *) install_name_tool -change "$d" "$prefix/lib/$d" $b ;;
                esac
                done
                popd 2> /dev/null
                fi
        done
        popd
        # for binaries and plug-in modules
        pushd $iprefix/bin
        for f in *
        do
                if test ! -L $f
                then
                deplibs=`otool -L $f | sed 1d | awk '{print $1;}' | tr '\n' ' '`
                for d in $deplibs
                do
                # consider substituting with relative @executable_path/../lib ?
                case $d in
                /*) ;;
                @*) ;;
                *) install_name_tool -change "$d" "$prefix/lib/$d" $f ;;
                esac
                done
                fi
        done
        popd

        # need symlink /usr/bin/ld so libLTO.dylib can be found relative to 
@executable_path
        pushd $iprefix/bin
        test -x /usr/bin/ld && ln -s /usr/bin/ld .
        popd

        # documentation
        docdir=$prefix/share/doc
        idocdir=$iprefix/share/doc
        mkdir -p $idocdir
        cp -R docs $idocdir/llvm
        cp -R tools/clang/docs $idocdir/clang
        mkdir -p $idocdir/%n
        pushd $idocdir/%n
        ln -s $docdir/llvm .
        ln -s $docdir/clang .
        mkdir testlogs
        cp %b/../build/last/*-check.log testlogs/
        popd
<<
DocFiles: *.TXT README.txt
Shlibs: <<
                %p/opt/llvm-%v/lib/libclang.3.3.dylib 1.0.0 %n (>= 3.3-0)
                !%p/opt/llvm-%v/lib/libclang.dylib
                !%p/opt/llvm-%v/lib/libLTO.dylib
                !%p/opt/llvm-%v/lib/BugpointPasses.so
                !%p/opt/llvm-%v/lib/LLVMHello.so
                !%p/opt/llvm-%v/lib/libLLVMAnalysis.dylib
                !%p/opt/llvm-%v/lib/libLLVMArchive.dylib
                !%p/opt/llvm-%v/lib/libLLVMAsmParser.dylib
                !%p/opt/llvm-%v/lib/libLLVMAsmPrinter.dylib
                !%p/opt/llvm-%v/lib/libLLVMBitReader.dylib
                !%p/opt/llvm-%v/lib/libLLVMBitWriter.dylib
                !%p/opt/llvm-%v/lib/libLLVMCodeGen.dylib
                !%p/opt/llvm-%v/lib/libLLVMCore.dylib
                !%p/opt/llvm-%v/lib/libLLVMDebugInfo.dylib
                !%p/opt/llvm-%v/lib/libLLVMExecutionEngine.dylib
                !%p/opt/llvm-%v/lib/libLLVMInstCombine.dylib
                !%p/opt/llvm-%v/lib/libLLVMInstrumentation.dylib
                !%p/opt/llvm-%v/lib/libLLVMInterpreter.dylib
                !%p/opt/llvm-%v/lib/libLLVMIRReader.dylib
                !%p/opt/llvm-%v/lib/libLLVMJIT.dylib
                !%p/opt/llvm-%v/lib/libLLVMLinker.dylib
                !%p/opt/llvm-%v/lib/libLLVMMC.dylib
                !%p/opt/llvm-%v/lib/libLLVMMCDisassembler.dylib
                !%p/opt/llvm-%v/lib/libLLVMMCJIT.dylib
                !%p/opt/llvm-%v/lib/libLLVMMCParser.dylib
                !%p/opt/llvm-%v/lib/libLLVMObjCARCOpts.dylib
                !%p/opt/llvm-%v/lib/libLLVMObject.dylib
                !%p/opt/llvm-%v/lib/libLLVMOption.dylib
                (%m = powerpc) !%p/opt/llvm-%v/lib/libLLVMPowerPCAsmParser.dylib
                (%m = powerpc) 
!%p/opt/llvm-%v/lib/libLLVMPowerPCAsmPrinter.dylib
                (%m = powerpc) !%p/opt/llvm-%v/lib/libLLVMPowerPCCodeGen.dylib
                (%m = powerpc) !%p/opt/llvm-%v/lib/libLLVMPowerPCDesc.dylib
                (%m = powerpc) !%p/opt/llvm-%v/lib/libLLVMPowerPCInfo.dylib
                !%p/opt/llvm-%v/lib/libLLVMRuntimeDyld.dylib
                !%p/opt/llvm-%v/lib/libLLVMScalarOpts.dylib
                !%p/opt/llvm-%v/lib/libLLVMSelectionDAG.dylib
                !%p/opt/llvm-%v/lib/libLLVMSupport.dylib
                !%p/opt/llvm-%v/lib/libLLVMTableGen.dylib
                !%p/opt/llvm-%v/lib/libLLVMTarget.dylib
                !%p/opt/llvm-%v/lib/libLLVMTransformUtils.dylib
                !%p/opt/llvm-%v/lib/libLLVMVectorize.dylib
                !%p/opt/llvm-%v/lib/libLLVMipa.dylib
                !%p/opt/llvm-%v/lib/libLLVMipo.dylib
                !%p/opt/llvm-%v/lib/LLVMPolly.so
                !%p/opt/llvm-%v/lib/libPollyJSON.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86AsmParser.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86AsmPrinter.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86CodeGen.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86Desc.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86Disassembler.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86Info.dylib
                (%m != powerpc) !%p/opt/llvm-%v/lib/libLLVMX86Utils.dylib
                !%p/opt/llvm-%v/lib/libclangAnalysis.dylib
                !%p/opt/llvm-%v/lib/libclangARCMigrate.dylib
                !%p/opt/llvm-%v/lib/libclangAST.dylib
                !%p/opt/llvm-%v/lib/libclangASTMatchers.dylib
                !%p/opt/llvm-%v/lib/libclangBasic.dylib
                !%p/opt/llvm-%v/lib/libclangCodeGen.dylib
                !%p/opt/llvm-%v/lib/libclangDriver.dylib
                !%p/opt/llvm-%v/lib/libclangEdit.dylib
                !%p/opt/llvm-%v/lib/libclangFormat.dylib
                !%p/opt/llvm-%v/lib/libclangFrontend.dylib
                !%p/opt/llvm-%v/lib/libclangFrontendTool.dylib
                !%p/opt/llvm-%v/lib/libclangLex.dylib
                !%p/opt/llvm-%v/lib/libclangParse.dylib
                !%p/opt/llvm-%v/lib/libclangRewriteCore.dylib
                !%p/opt/llvm-%v/lib/libclangRewriteFrontend.dylib
                !%p/opt/llvm-%v/lib/libclangSema.dylib
                !%p/opt/llvm-%v/lib/libclangSerialization.dylib
                !%p/opt/llvm-%v/lib/libclangStaticAnalyzerCheckers.dylib
                !%p/opt/llvm-%v/lib/libclangStaticAnalyzerCore.dylib
                !%p/opt/llvm-%v/lib/libclangStaticAnalyzerFrontend.dylib
                !%p/opt/llvm-%v/lib/libclangTooling.dylib
                !%p/opt/llvm-%v/lib/libgtest.dylib
                !%p/opt/llvm-%v/lib/libgtest_main.dylib
                !%p/opt/llvm-%v/lib/libprofile_rt.dylib
                
!%p/opt/llvm-%v/lib/clang/3.3/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
<<
Homepage: http://llvm.org/
DescDetail: <<
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.  Despite its name, LLVM has little to do with
traditional virtual machines, though it does provide helpful libraries
that can be used to build them.

The goal of the Clang project is to create a new C, C++, Objective C 
and Objective C++ front-end for the LLVM compiler.
<<
DescPackaging: <<
Built with shared-libraries to reduce the binary size.
Enabled only native targets X86, PowerPC.
Nag me if you want other cross-targets enabled.
<<
DescPort: <<
Most of the patches are maintained at fangism's powerpc-darwin8 branches
of the llvm, clang, compiler-rt projects hosted at github.
        *** LLVM/Clang-3.3 still has serious codegen issues for PowerPC
        *** It is NOT considered production quality for PowerPC
        *** HELP WANTED: in stabilizing and fixing PowerPC CodeGen
        *** on llvm/clang svn trunk.
        *** status page: http://www.csl.cornell.edu/~fang/sw/llvm/
Original (pre-3.0) package maintained by 
        Benjamin Reed <l...@fink.raccoonfink.com>
with contributions from
        Jack Howarth <howa...@bromo.med.uc.edu>
PatchFile contains:
*       various compiler deficiency workarounds
*       CMakeFile fixes, mostly missing dependencies
*       [NEW] PPC/mach-o support, a work-in-progress
*       and much more!
<<
<<

--- NEW FILE: llvm33.patch ---
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index a5caac9..c09311e 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -1692,11 +1692,11 @@ AC_LINK_IFELSE(
 ],
 [
   AC_MSG_RESULT([yes])
-  AC_DEFINE([LLVM_HAS_ATOMICS], [1], [Has gcc/MSVC atomic intrinsics])
+  AC_DEFINE([LLVM_HAS_ATOMICS], [1], [Has gcc/MSVC/Apple atomic intrinsics])
 ],
 [
   AC_MSG_RESULT([no])
-  AC_DEFINE([LLVM_HAS_ATOMICS], [0], [Has gcc/MSVC atomic intrinsics])
+  AC_DEFINE([LLVM_HAS_ATOMICS], [0], [Has gcc/MSVC/Apple atomic intrinsics])
   AC_MSG_WARN([LLVM will be built thread-unsafe because atomic builtins are 
missing])
 ])
 AC_LANG_POP([C++])
diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
[...2597 lines suppressed...]
@@ -42,10 +79,6 @@ if (TARGET intrinsics_gen)
 endif()
 
 add_dependencies(LLVMPolly
-  PollyAnalysis
-  PollyCodeGen
-  PollyExchange
-  PollySupport
   PollyJSON
   )
 
@@ -57,3 +90,8 @@ set_target_properties(LLVMPolly
 if (PLUTO_FOUND)
   target_link_libraries(LLVMPolly ${PLUTO_LIBRARY})
 endif(PLUTO_FOUND)
+
+target_link_libraries(LLVMPolly
+  LLVMSupport
+  LLVMTransformUtils
+)


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to