Resurrect Clang package, it should not have been deleted.

Contrary to removal message lang/clang is _never_ newer.
This commit is contained in:
Aleksej Saushev 2012-08-14 17:29:34 +00:00 committed by Thomas Klausner
parent 5b805ab8d2
commit 2789ace410
6 changed files with 1240 additions and 0 deletions

22
clang/DESCR Normal file
View file

@ -0,0 +1,22 @@
Low Level Virtual Machine (LLVM) is:
A compilation strategy designed to enable effective program optimization across
the entire lifetime of a program. LLVM supports effective optimization at
compile time, link-time (particularly interprocedural), run-time and offline
(i.e., after software is installed), while remaining transparent to developers
and maintaining compatibility with existing build scripts.
A virtual instruction set - LLVM is a low-level object code representation that
uses simple RISC-like instructions, but provides rich, language-independent,
type information and dataflow (SSA) information about operands. This combination
enables sophisticated transformations on object code, while remaining
light-weight enough to be attached to the executable. This combination is key to
allowing link-time, run-time, and offline transformations.
A compiler infrastructure - LLVM is also a collection of source code that
implements the language and compilation strategy. The primary components of the
LLVM infrastructure are a GCC-based C & C++ front-end, a link-time optimization
framework with a growing set of global and interprocedural analyses and
transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM,
Thumb, IA-64, Alpha and SPARC architectures, a back-end which emits portable C
code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors.

74
clang/Makefile Normal file
View file

@ -0,0 +1,74 @@
# $NetBSD: Makefile,v 1.14 2012/08/14 17:29:34 asau Exp $
DISTNAME= llvm-2.6
CATEGORIES= lang
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
MAINTAINER= pkgsrc-wip-discuss@lists.sourceforge.net
HOMEPAGE= http://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure
LICENSE= modified-bsd
PKG_DESTDIR_SUPPORT= user-destdir
USE_LANGUAGES+= c c++
USE_TOOLS+= gmake perl:build chown
GNU_CONFIGURE= yes
MAKE_DIRS+= etc/llvm
CONFIGURE_ARGS+= --disable-bindings # disable OCaml
CONFIGURE_ARGS+= --enable-optimized
# Don't build support for all targets, it leads to irreproducable packages:
CONFIGURE_ARGS+= --enable-targets=host
# This should be changed!
CONFIGURE_ARGS+= --disable-assertions
CONFIGURE_ARGS+= --disable-timestamps
USE_LIBTOOL= yes
INSTALLATION_DIRS= bin lib libexec
#CONF_FILES= share/examples/llvm/c etc/llvm/c
#CONF_FILES+= share/examples/llvm/c++ etc/llvm/c++
#CONF_FILES+= share/examples/llvm/cpp etc/llvm/cpp
#CONF_FILES+= share/examples/llvm/cxx etc/llvm/cxx
#CONF_FILES+= share/examples/llvm/ll etc/llvm/ll
#CONF_FILES+= share/examples/llvm/st etc/llvm/st
#.include "../../lang/ocaml/buildlink3.mk"
TEST_TARGET= check unittests
.include "../../mk/bsd.prefs.mk"
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
PLIST_SUBST+= SOEXT="dylib"
.else
PLIST_SUBST+= SOEXT="so"
.endif
PLIST_SUBST+= PLIST_PKGVERSION=3.0 # already used for current
SUBST_CLASSES+= perl
SUBST_MESSAGE.perl= Fixing llvm-configure PERL path
SUBST_STAGE.perl= post-patch
SUBST_FILES.perl= tools/llvm-config/llvm-config.in.in
SUBST_SED.perl= -e 's,@PERL@,${PERL5},'
post-extract:
${MV} ${WRKDIR}/clang ${WRKSRC}/tools/clang
# Get it from Subversion repository:
SVN_REPOSITORIES= llvm clang
SVN_ROOT.llvm= http://llvm.org/svn/llvm-project/llvm/trunk
SVN_ROOT.clang= http://llvm.org/svn/llvm-project/cfe/trunk
PKGNAME= clang-3.0.99
WRKSRC= $(WRKDIR)/$(SVN_MODULE.llvm)
CHECK_PORTABILITY_SKIP= utils/buildit/.svn/text-base/build_llvm.svn-base \
utils/buildit/build_llvm
.include "../../wip/mk/svn-package.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

1079
clang/PLIST Normal file

File diff suppressed because it is too large Load diff

10
clang/distinfo Normal file
View file

@ -0,0 +1,10 @@
$NetBSD: distinfo,v 1.5 2012/08/14 17:29:34 asau Exp $
SHA1 (clang-2.6.tar.gz) = 188f29ad3b2c64fcdc791aa34b323ed06452d7ae
RMD160 (clang-2.6.tar.gz) = b7e44abbf28902ff8e3fd4578a5ff9dd34f40817
Size (clang-2.6.tar.gz) = 3857138 bytes
SHA1 (llvm-2.6.tar.gz) = 547471147cbf6d3e49539e01196ffada2c79c250
RMD160 (llvm-2.6.tar.gz) = 24d58cb052ab5879aae59eaf4885ec41186ee22a
Size (llvm-2.6.tar.gz) = 7790380 bytes
SHA1 (patch-ac) = 714b9d49129d11c6c9c60e13d7cbf89e93917d65
SHA1 (patch-ad) = b90fa4fa75ef1f7c8cb9475798bf7f8e53e6baa9

37
clang/patches/patch-ac Normal file
View file

@ -0,0 +1,37 @@
$NetBSD: patch-ac,v 1.5 2012/08/14 17:29:34 asau Exp $
--- Makefile.rules.orig 2011-01-04 16:03:35.000000000 +0000
+++ Makefile.rules
@@ -565,9 +565,9 @@ ifneq ($(HOST_OS), Darwin)
ifdef TOOLNAME
LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib'
ifdef EXAMPLE_TOOL
- LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag)
+ LD.Flags += $(DynamicFlag)
else
- LD.Flags += $(RPATH) -Wl,$(ToolDir) $(DynamicFlag)
+ LD.Flags += $(DynamicFlag)
endif
endif
else
@@ -728,9 +728,6 @@ ObjectsBC := $(BaseNameSources:%=$(ObjDi
# in the file so they get built before dependencies
#---------------------------------------------------------
-$(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PROJ_libdir) $(DESTDIR)$(PROJ_includedir) $(DESTDIR)$(PROJ_etcdir)::
- $(Verb) $(MKDIR) $@
-
# To create other directories, as needed, and timestamp their creation
%/.dir:
$(Verb) $(MKDIR) $* > /dev/null
@@ -856,7 +853,9 @@ install-local::
uninstall-local::
$(Echo) UnInstall circumvented with NO_INSTALL
else
-install-local:: $(DESTDIR)$(PROJ_etcdir) $(CONFIG_FILES)
+PROJ_etcdir=${PREFIX}/share/examples/llvm
+install-local:: $(CONFIG_FILES)
+ $(MKDIR) ${PROJ_etcdir}
$(Echo) Installing Configuration Files To $(DESTDIR)$(PROJ_etcdir)
$(Verb)for file in $(CONFIG_FILES); do \
if test -f $(PROJ_OBJ_DIR)/$${file} ; then \

18
clang/patches/patch-ad Normal file
View file

@ -0,0 +1,18 @@
$NetBSD: patch-ad,v 1.3 2012/08/14 17:29:34 asau Exp $
--- Makefile.config.in.orig 2010-03-19 14:56:04.000000000 +0000
+++ Makefile.config.in
@@ -79,11 +79,11 @@ LLVMMAKE := $(LLVM_SRC_ROOT)/make
PROJ_bindir := $(PROJ_prefix)/bin
PROJ_libdir := $(PROJ_prefix)/lib
PROJ_datadir := $(PROJ_prefix)/share
-PROJ_docsdir := $(PROJ_prefix)/docs/llvm
+PROJ_docsdir := $(PROJ_prefix)/share/doc/llvm
PROJ_etcdir := $(PROJ_prefix)/etc/llvm
PROJ_includedir := $(PROJ_prefix)/include
PROJ_infodir := $(PROJ_prefix)/info
-PROJ_mandir := $(PROJ_prefix)/share/man
+PROJ_mandir := $(PROJ_prefix)/man
# Determine if we're on a unix type operating system
LLVM_ON_UNIX:=@LLVM_ON_UNIX@