pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/libLLVM4 re-import lang/libLLVM as lang/libLLVM4



details:   https://anonhg.NetBSD.org/pkgsrc/rev/50738a8508cd
branches:  trunk
changeset: 328760:50738a8508cd
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Sat Jan 26 20:14:02 2019 +0000

description:
re-import lang/libLLVM as lang/libLLVM4

With some adaptations to make it able to co-install with other llvm pkgs

diffstat:

 lang/libLLVM4/DESCR                                               |    12 +
 lang/libLLVM4/Makefile                                            |   148 +
 lang/libLLVM4/PLIST                                               |  1067 ++++++++++
 lang/libLLVM4/buildlink3.mk                                       |    18 +
 lang/libLLVM4/distinfo                                            |    15 +
 lang/libLLVM4/options.mk                                          |    56 +
 lang/libLLVM4/patches/patch-CMakeLists.txt                        |    24 +
 lang/libLLVM4/patches/patch-cmake_modules_AddLLVM.cmake           |    58 +
 lang/libLLVM4/patches/patch-cmake_modules_CMakeLists.txt          |    12 +
 lang/libLLVM4/patches/patch-cmake_modules_HandleLLVMOptions.cmake |    14 +
 lang/libLLVM4/patches/patch-cmake_modules_TableGen.cmake          |    15 +
 lang/libLLVM4/patches/patch-include_llvm_Support_Host.h           |    26 +
 lang/libLLVM4/patches/patch-lib_Support_Unix_Program.inc          |    16 +
 lang/libLLVM4/patches/patch-tools_llvm-config_llvm-config.cpp     |    55 +
 lang/libLLVM4/patches/patch-tools_llvm-shlib_CMakeLists.txt       |    23 +
 15 files changed, 1559 insertions(+), 0 deletions(-)

diffs (truncated from 1619 to 300 lines):

diff -r b232b6a460e1 -r 50738a8508cd lang/libLLVM4/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/libLLVM4/DESCR       Sat Jan 26 20:14:02 2019 +0000
@@ -0,0 +1,12 @@
+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.
+
+This package contains the LLVM core shared libraries intended to be usable by
+packages built on an otherwise GCC-built system.
+
+This package (lang/libLLVM) is libLLVM 4.0.  While it could be renamed
+to libLLVM4, that has not happened -- but it is intended to be a fixed
+version.  lang/libLLVM provides 3.4, for depending packages that need
+an even older version.
diff -r b232b6a460e1 -r 50738a8508cd lang/libLLVM4/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/libLLVM4/Makefile    Sat Jan 26 20:14:02 2019 +0000
@@ -0,0 +1,148 @@
+# $NetBSD: Makefile,v 1.1 2019/01/26 20:14:02 tnn Exp $
+
+DISTNAME=      llvm-4.0.1.src
+PKGNAME=       ${DISTNAME:S/llvm/libLLVM4/:S/.src//}
+CATEGORIES=    lang devel
+MASTER_SITES=  http://llvm.org/releases/${PKGVERSION_NOREV}/
+EXTRACT_SUFX=  .tar.xz
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      http://llvm.org/
+COMMENT=       Low Level Virtual Machine shared library
+LICENSE=       modified-bsd
+
+USE_LANGUAGES=         c c++11
+USE_CMAKE=             yes
+GCC_REQD+=             4.8
+PYTHON_FOR_BUILD_ONLY= yes
+
+CONFIGURE_DIRS=         ${WRKDIR}/build
+CMAKE_ARG_PATH=                ${WRKSRC}
+
+CMAKE_ARGS+=   -DCMAKE_BUILD_TYPE=Release
+CMAKE_ARGS+=   -DCMAKE_C_COMPILER=gcc
+CMAKE_ARGS+=   -DCMAKE_CXX_COMPILER=g++
+CMAKE_ARGS+=   -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
+CMAKE_ARGS+=   -DLLVM_BUILD_LLVM_DYLIB=ON
+CMAKE_ARGS+=   -DLLVM_LINK_LLVM_DYLIB=ON
+CMAKE_ARGS+=   -DLLVM_INCLUDE_TESTS=OFF
+CMAKE_ARGS+=   -DCMAKE_EXE_LINKER_FLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/lib/libLLVM4
+
+CMAKE_ARGS.Darwin+=    -DCMAKE_LIBTOOL=/usr/bin/libtool
+
+.for tool in   bugpoint bugpoint_passes dsymutil gold llc lli llvm_ar  \
+       llvm_as llvm_as_fuzzer llvm_bcanalyzer llvm_c_test llvm_cat     \
+       llvm_cov llvm_cxxdump llvm_cxxfilt llvm_diff llvm_dis           \
+       llvm_dwarfdump llvm_dwp llvm_extract llvm_go llvm_jitlistener   \
+       llvm_link llvm_lto llvm_lto2 llvm_mc llvm_mc_fuzzer             \
+       llvm_mcmarkup llvm_modextract llvm_nm llvm_objdump              \
+       llvm_opt_report llvm_pdbdump llvm_profdata llvm_readobj         \
+       llvm_rtdyld llvm_size llvm_split llvm_stress llvm_strings       \
+       llvm_symbolizer llvm_xray lto msbuild obj2yaml opt sancov       \
+       sanstats verify_uselistorder xcode_toolchain yaml2obj
+
+CMAKE_ARGS+=   -DLLVM_TOOL_${tool:tu}_BUILD=OFF
+.endfor
+
+SUBST_CLASSES+=                fix-cnf
+SUBST_STAGE.fix-cnf=   pre-configure
+SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths
+SUBST_FILES.fix-cnf=   tools/llvm-config/llvm-config.cpp
+SUBST_VARS.fix-cnf=    PREFIX LLVM_MAJOR_MINOR COMPILER_RPATH_FLAG
+
+CHECK_PORTABILITY_SKIP=        utils/buildit/build_llvm
+
+# XXX perl is not added as a tool as it does not seem to be required
+REPLACE_PERL+=         utils/GenLibDeps.pl
+REPLACE_PERL+=         utils/UpdateCMakeLists.pl
+REPLACE_PERL+=         utils/codegen-diff
+REPLACE_PERL+=         utils/findsym.pl
+REPLACE_PERL+=         utils/llvm-native-gxx
+REPLACE_PERL+=         utils/test_debuginfo.pl
+
+REPLACE_PYTHON+=       examples/Kaleidoscope/MCJIT/cached/genk-timing.py
+REPLACE_PYTHON+=       examples/Kaleidoscope/MCJIT/cached/split-lib.py
+REPLACE_PYTHON+=       examples/Kaleidoscope/MCJIT/complete/genk-timing.py
+REPLACE_PYTHON+=       examples/Kaleidoscope/MCJIT/complete/split-lib.py
+REPLACE_PYTHON+=       examples/Kaleidoscope/MCJIT/lazy/genk-timing.py
+REPLACE_PYTHON+=       test/BugPoint/compile-custom.ll.py
+REPLACE_PYTHON+=       test/tools/llvm-readobj/Inputs/relocs.py
+REPLACE_PYTHON+=       utils/Misc/zkill
+REPLACE_PYTHON+=       utils/Target/ARM/analyze-match-table.py
+REPLACE_PYTHON+=       utils/bisect
+REPLACE_PYTHON+=       utils/clang-parse-diagnostics-file
+REPLACE_PYTHON+=       utils/create_ladder_graph.py
+REPLACE_PYTHON+=       utils/git/find-rev
+REPLACE_PYTHON+=       utils/lint/common_lint.py
+REPLACE_PYTHON+=       utils/lint/cpp_lint.py
+REPLACE_PYTHON+=       utils/lint/generic_lint.py
+REPLACE_PYTHON+=       utils/lit/lit.py
+REPLACE_PYTHON+=       utils/lit/lit/ProgressBar.py
+REPLACE_PYTHON+=       utils/lit/lit/main.py
+REPLACE_PYTHON+=       utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest
+REPLACE_PYTHON+=       utils/llvm-build/llvm-build
+REPLACE_PYTHON+=       utils/llvm-compilers-check
+REPLACE_PYTHON+=       utils/llvm-lit/llvm-lit.in
+REPLACE_PYTHON+=       utils/release/findRegressions-nightly.py
+REPLACE_PYTHON+=       utils/release/findRegressions-simple.py
+REPLACE_PYTHON+=       utils/schedcover.py
+REPLACE_PYTHON+=       utils/shuffle_fuzz.py
+REPLACE_PYTHON+=       utils/sort_includes.py
+REPLACE_PYTHON+=       utils/testgen/mc-bundling-x86-gen.py
+REPLACE_PYTHON+=       utils/update_llc_test_checks.py
+REPLACE_PYTHON+=       utils/wciia.py
+
+TEST_TARGET=           check
+TEST_ENV+=             LD_LIBRARY_PATH=${WRKDIR}/build/lib
+
+.include "../../mk/bsd.prefs.mk"
+
+# 3.8.0 -> 3.8
+LLVM_MAJOR_MINOR=      ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
+PLIST_SUBST+=          LLVM_MAJOR_MINOR=${LLVM_MAJOR_MINOR}
+
+PLIST_VARS+=   notdylib
+.if ${SHLIB_TYPE} == "dylib"
+SOEXT=         dylib
+LLVM_LIBNAME=  libLLVM.${SOEXT}
+.else
+SOEXT=         so
+LLVM_LIBNAME=  libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
+PLIST.notdylib=        yes
+.endif
+PLIST_SUBST+=  SOEXT=${SOEXT}
+PLIST_SUBST+=  LLVM_LIBNAME=${LLVM_LIBNAME}
+
+.include "options.mk"
+
+# needs std::atomic with 64-bit CAS
+.if ${MACHINE_ARCH} == "i386"
+CXXFLAGS+=     -march=i586
+.endif
+
+# replacing config.guess is required even for cmake.
+# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm.
+post-extract:
+       ${RUN} mkdir -p ${WRKDIR}/build
+.for f in config.guess config.sub
+       cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f}
+.endfor
+
+post-install:
+       ${INSTALL_LIB_DIR} ${DESTDIR}${PREFIX}/lib/libLLVM4
+       ${INSTALL_LIB} ${WRKDIR}/build/lib/${LLVM_LIBNAME}      \
+               ${DESTDIR}${PREFIX}/lib/libLLVM4/${LLVM_LIBNAME}
+.if ${OPSYS} == "Darwin"
+       install_name_tool -id   \
+               ${PREFIX}/lib/libLLVM4/${LLVM_LIBNAME}  \
+               ${DESTDIR}${PREFIX}/lib/libLLVM4/${LLVM_LIBNAME}
+.else
+       ${LN} -sf ${LLVM_LIBNAME}       \
+               ${DESTDIR}${PREFIX}/lib/libLLVM4/libLLVM.${SOEXT}
+       ${LN} -sf ${LLVM_LIBNAME}       \
+               ${DESTDIR}${PREFIX}/lib/libLLVM4/libLLVM-${PKGVERSION_NOREV}.${SOEXT}
+.endif
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../lang/python/tool.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r b232b6a460e1 -r 50738a8508cd lang/libLLVM4/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/libLLVM4/PLIST       Sat Jan 26 20:14:02 2019 +0000
@@ -0,0 +1,1067 @@
+@comment $NetBSD: PLIST,v 1.1 2019/01/26 20:14:02 tnn Exp $
+include/libLLVM4/llvm-c/Analysis.h
+include/libLLVM4/llvm-c/BitReader.h
+include/libLLVM4/llvm-c/BitWriter.h
+include/libLLVM4/llvm-c/Core.h
+include/libLLVM4/llvm-c/Disassembler.h
+include/libLLVM4/llvm-c/ErrorHandling.h
+include/libLLVM4/llvm-c/ExecutionEngine.h
+include/libLLVM4/llvm-c/IRReader.h
+include/libLLVM4/llvm-c/Initialization.h
+include/libLLVM4/llvm-c/LinkTimeOptimizer.h
+include/libLLVM4/llvm-c/Linker.h
+include/libLLVM4/llvm-c/Object.h
+include/libLLVM4/llvm-c/OrcBindings.h
+include/libLLVM4/llvm-c/Support.h
+include/libLLVM4/llvm-c/Target.h
+include/libLLVM4/llvm-c/TargetMachine.h
+include/libLLVM4/llvm-c/Transforms/IPO.h
+include/libLLVM4/llvm-c/Transforms/PassManagerBuilder.h
+include/libLLVM4/llvm-c/Transforms/Scalar.h
+include/libLLVM4/llvm-c/Transforms/Vectorize.h
+include/libLLVM4/llvm-c/Types.h
+include/libLLVM4/llvm-c/lto.h
+include/libLLVM4/llvm/ADT/APFloat.h
+include/libLLVM4/llvm/ADT/APInt.h
+include/libLLVM4/llvm/ADT/APSInt.h
+include/libLLVM4/llvm/ADT/AllocatorList.h
+include/libLLVM4/llvm/ADT/ArrayRef.h
+include/libLLVM4/llvm/ADT/BitVector.h
+include/libLLVM4/llvm/ADT/BitmaskEnum.h
+include/libLLVM4/llvm/ADT/CachedHashString.h
+include/libLLVM4/llvm/ADT/DAGDeltaAlgorithm.h
+include/libLLVM4/llvm/ADT/DeltaAlgorithm.h
+include/libLLVM4/llvm/ADT/DenseMap.h
+include/libLLVM4/llvm/ADT/DenseMapInfo.h
+include/libLLVM4/llvm/ADT/DenseSet.h
+include/libLLVM4/llvm/ADT/DepthFirstIterator.h
+include/libLLVM4/llvm/ADT/EpochTracker.h
+include/libLLVM4/llvm/ADT/EquivalenceClasses.h
+include/libLLVM4/llvm/ADT/FoldingSet.h
+include/libLLVM4/llvm/ADT/GraphTraits.h
+include/libLLVM4/llvm/ADT/Hashing.h
+include/libLLVM4/llvm/ADT/ImmutableList.h
+include/libLLVM4/llvm/ADT/ImmutableMap.h
+include/libLLVM4/llvm/ADT/ImmutableSet.h
+include/libLLVM4/llvm/ADT/IndexedMap.h
+include/libLLVM4/llvm/ADT/IntEqClasses.h
+include/libLLVM4/llvm/ADT/IntervalMap.h
+include/libLLVM4/llvm/ADT/IntrusiveRefCntPtr.h
+include/libLLVM4/llvm/ADT/MapVector.h
+include/libLLVM4/llvm/ADT/None.h
+include/libLLVM4/llvm/ADT/Optional.h
+include/libLLVM4/llvm/ADT/PackedVector.h
+include/libLLVM4/llvm/ADT/PointerEmbeddedInt.h
+include/libLLVM4/llvm/ADT/PointerIntPair.h
+include/libLLVM4/llvm/ADT/PointerSumType.h
+include/libLLVM4/llvm/ADT/PointerUnion.h
+include/libLLVM4/llvm/ADT/PostOrderIterator.h
+include/libLLVM4/llvm/ADT/PriorityQueue.h
+include/libLLVM4/llvm/ADT/PriorityWorklist.h
+include/libLLVM4/llvm/ADT/SCCIterator.h
+include/libLLVM4/llvm/ADT/STLExtras.h
+include/libLLVM4/llvm/ADT/ScopeExit.h
+include/libLLVM4/llvm/ADT/ScopedHashTable.h
+include/libLLVM4/llvm/ADT/Sequence.h
+include/libLLVM4/llvm/ADT/SetOperations.h
+include/libLLVM4/llvm/ADT/SetVector.h
+include/libLLVM4/llvm/ADT/SmallBitVector.h
+include/libLLVM4/llvm/ADT/SmallPtrSet.h
+include/libLLVM4/llvm/ADT/SmallSet.h
+include/libLLVM4/llvm/ADT/SmallString.h
+include/libLLVM4/llvm/ADT/SmallVector.h
+include/libLLVM4/llvm/ADT/SparseBitVector.h
+include/libLLVM4/llvm/ADT/SparseMultiSet.h
+include/libLLVM4/llvm/ADT/SparseSet.h
+include/libLLVM4/llvm/ADT/Statistic.h
+include/libLLVM4/llvm/ADT/StringExtras.h
+include/libLLVM4/llvm/ADT/StringMap.h
+include/libLLVM4/llvm/ADT/StringRef.h
+include/libLLVM4/llvm/ADT/StringSet.h
+include/libLLVM4/llvm/ADT/StringSwitch.h
+include/libLLVM4/llvm/ADT/TinyPtrVector.h
+include/libLLVM4/llvm/ADT/Triple.h
+include/libLLVM4/llvm/ADT/Twine.h
+include/libLLVM4/llvm/ADT/UniqueVector.h
+include/libLLVM4/llvm/ADT/VariadicFunction.h
+include/libLLVM4/llvm/ADT/edit_distance.h
+include/libLLVM4/llvm/ADT/ilist.h
+include/libLLVM4/llvm/ADT/ilist_base.h
+include/libLLVM4/llvm/ADT/ilist_iterator.h
+include/libLLVM4/llvm/ADT/ilist_node.h
+include/libLLVM4/llvm/ADT/ilist_node_base.h
+include/libLLVM4/llvm/ADT/ilist_node_options.h
+include/libLLVM4/llvm/ADT/iterator.h
+include/libLLVM4/llvm/ADT/iterator_range.h
+include/libLLVM4/llvm/ADT/simple_ilist.h
+include/libLLVM4/llvm/Analysis/AliasAnalysis.h
+include/libLLVM4/llvm/Analysis/AliasAnalysisEvaluator.h
+include/libLLVM4/llvm/Analysis/AliasSetTracker.h
+include/libLLVM4/llvm/Analysis/AssumptionCache.h
+include/libLLVM4/llvm/Analysis/BasicAliasAnalysis.h
+include/libLLVM4/llvm/Analysis/BlockFrequencyInfo.h
+include/libLLVM4/llvm/Analysis/BlockFrequencyInfoImpl.h
+include/libLLVM4/llvm/Analysis/BranchProbabilityInfo.h
+include/libLLVM4/llvm/Analysis/CFG.h
+include/libLLVM4/llvm/Analysis/CFGPrinter.h
+include/libLLVM4/llvm/Analysis/CFLAndersAliasAnalysis.h
+include/libLLVM4/llvm/Analysis/CFLSteensAliasAnalysis.h
+include/libLLVM4/llvm/Analysis/CGSCCPassManager.h
+include/libLLVM4/llvm/Analysis/CallGraph.h
+include/libLLVM4/llvm/Analysis/CallGraphSCCPass.h
+include/libLLVM4/llvm/Analysis/CallPrinter.h
+include/libLLVM4/llvm/Analysis/CaptureTracking.h
+include/libLLVM4/llvm/Analysis/CodeMetrics.h
+include/libLLVM4/llvm/Analysis/ConstantFolding.h
+include/libLLVM4/llvm/Analysis/DOTGraphTraitsPass.h
+include/libLLVM4/llvm/Analysis/DemandedBits.h
+include/libLLVM4/llvm/Analysis/DependenceAnalysis.h
+include/libLLVM4/llvm/Analysis/DivergenceAnalysis.h
+include/libLLVM4/llvm/Analysis/DomPrinter.h
+include/libLLVM4/llvm/Analysis/DominanceFrontier.h
+include/libLLVM4/llvm/Analysis/DominanceFrontierImpl.h
+include/libLLVM4/llvm/Analysis/EHPersonalities.h
+include/libLLVM4/llvm/Analysis/GlobalsModRef.h
+include/libLLVM4/llvm/Analysis/IVUsers.h
+include/libLLVM4/llvm/Analysis/IndirectCallPromotionAnalysis.h
+include/libLLVM4/llvm/Analysis/IndirectCallSiteVisitor.h
+include/libLLVM4/llvm/Analysis/InlineCost.h



Home | Main Index | Thread Index | Old Index