diff options
author | cjep <cjep@pkgsrc.org> | 2002-12-11 19:03:17 +0000 |
---|---|---|
committer | cjep <cjep@pkgsrc.org> | 2002-12-11 19:03:17 +0000 |
commit | 866b880b5e13073071eee50a3aea25a159565d08 (patch) | |
tree | 6112c057a3ffc02998596f7c8d57c0d42224cef0 /lang/openc++ | |
parent | bcde77e8f808546239d482dba8def40c5ce97e58 (diff) | |
download | pkgsrc-866b880b5e13073071eee50a3aea25a159565d08.tar.gz |
Initial import of OpenC++ 2.5.12 into the NetBSD packages collection as
lang/openc++.
OpenC++ is a version of C++ with a Metaobject Protocol. In other
words, it is a tool of source-code translation for C++. Programmers
can easily implement various kinds of translation so that they can
define new syntax, new annotation, and new object behavior. OpenC++ is
useful if they need, for example: developing extensions to C++, to
provide support for things like parallelism, distribution,
concurrency, and persistence; Adding domain-, application-, or
class-specific compiler optimizations; Building their own version of
(runtime) MOP for C++.
Supplied by Marko Schuetz in PR#19203. Thanks!
Thanks also to Masao Uebayashi for his help.
Diffstat (limited to 'lang/openc++')
-rw-r--r-- | lang/openc++/DESCR | 9 | ||||
-rw-r--r-- | lang/openc++/Makefile | 41 | ||||
-rw-r--r-- | lang/openc++/PLIST | 73 | ||||
-rw-r--r-- | lang/openc++/distinfo | 8 | ||||
-rw-r--r-- | lang/openc++/patches/patch-aa | 24 | ||||
-rw-r--r-- | lang/openc++/patches/patch-ab | 41 | ||||
-rw-r--r-- | lang/openc++/patches/patch-ac | 13 | ||||
-rw-r--r-- | lang/openc++/patches/patch-ad | 22 |
8 files changed, 231 insertions, 0 deletions
diff --git a/lang/openc++/DESCR b/lang/openc++/DESCR new file mode 100644 index 00000000000..6091d2b16ba --- /dev/null +++ b/lang/openc++/DESCR @@ -0,0 +1,9 @@ +OpenC++ is a version of C++ with a Metaobject Protocol. In other +words, it is a tool of source-code translation for C++. Programmers +can easily implement various kinds of translation so that they can +define new syntax, new annotation, and new object behavior. OpenC++ is +useful if they need, for example: developing extensions to C++, to +provide support for things like parallelism, distribution, +concurrency, and persistence; Adding domain-, application-, or +class-specific compiler optimizations; Building their own version of +(runtime) MOP for C++. diff --git a/lang/openc++/Makefile b/lang/openc++/Makefile new file mode 100644 index 00000000000..9c24664d87d --- /dev/null +++ b/lang/openc++/Makefile @@ -0,0 +1,41 @@ +# $NetBSD: Makefile,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ +# + +DISTNAME= opencxx2512 +PKGNAME= openc++-2.5.12 +CATEGORIES= lang +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=opencxx/} + +MAINTAINER= packages@netbsd.org +HOMEPAGE= http://www.csg.is.titech.ac.jp/~chiba/openc++.html +COMMENT= OpenC++ is a version of C++ with a Metaobject Protocol + +WRKSRC= ${WRKDIR}/openc++2.5.12/src/Unix + +USE_GMAKE= YES +MAKEFILE= Makefile.SunOSandBSD +MAKE_FLAGS+= CXXFLAGS=-I${PREFIX}/include +MAKE_FLAGS+= GCLIBDIR=${BUILDLINK_DIR} + +USE_BUILDLINK2= YES + +OPENCXX_SHAREDIR= ${PREFIX}/share/openc++ + +post-build: + ${MV} ${WRKSRC}/../../sample/Makefile ${WRKSRC}/../../sample/Makefile.temp + ${SED} -e "s|__LOCALBASE__|${LOCALBASE}|g" ${WRKSRC}/../../sample/Makefile.temp >${WRKSRC}/../../sample/Makefile + ${RM} -f ${WRKSRC}/../../sample/Makefile.orig ${WRKSRC}/../../sample/Makefile.temp + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/opencxx.a ${PREFIX}/lib/opencxx.a + ${INSTALL_PROGRAM} ${WRKSRC}/occ ${PREFIX}/bin/occ + ${INSTALL_DATA_DIR} ${OPENCXX_SHAREDIR}/examples + ${INSTALL_DATA} ${WRKSRC}/../../sample/* ${OPENCXX_SHAREDIR}/examples/ + ${INSTALL_DATA_DIR} ${PREFIX}/include/openc++ + ${INSTALL_DATA} ${WRKSRC}/../*.h ${PREFIX}/include/openc++ + ${INSTALL_DATA_DIR} ${OPENCXX_SHAREDIR}/doc/html + ${INSTALL_DATA} ${WRKSRC}/../../html/* ${OPENCXX_SHAREDIR}/doc/html + ${INSTALL_DATA} ${WRKSRC}/../../reference.pdf ${OPENCXX_SHAREDIR}/doc + +.include "../../devel/boehm-gc/buildlink2.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/lang/openc++/PLIST b/lang/openc++/PLIST new file mode 100644 index 00000000000..3e372c4d0af --- /dev/null +++ b/lang/openc++/PLIST @@ -0,0 +1,73 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ +bin/occ +include/openc++/buffer.h +include/openc++/cbodywalk.h +include/openc++/classwalk.h +include/openc++/encoding.h +include/openc++/env.h +include/openc++/hash.h +include/openc++/member.h +include/openc++/metaclass.h +include/openc++/mop.h +include/openc++/parse.h +include/openc++/ptree-core.h +include/openc++/ptree.h +include/openc++/quote-class.h +include/openc++/token.h +include/openc++/typeinfo.h +include/openc++/types.h +include/openc++/walker.h +lib/opencxx.a +share/openc++/doc/html/base.html +share/openc++/doc/html/class.html +share/openc++/doc/html/env.html +share/openc++/doc/html/green-pin.gif +share/openc++/doc/html/green.gif +share/openc++/doc/html/index.html +share/openc++/doc/html/instance-of.gif +share/openc++/doc/html/logo.gif +share/openc++/doc/html/man.html +share/openc++/doc/html/member.html +share/openc++/doc/html/mop.html +share/openc++/doc/html/occ.gif +share/openc++/doc/html/overview.html +share/openc++/doc/html/ptree.html +share/openc++/doc/html/red-pin.gif +share/openc++/doc/html/red.gif +share/openc++/doc/html/typeinfo.html +share/openc++/doc/html/yellow-pin.gif +share/openc++/doc/html/yellow.gif +share/openc++/doc/reference.pdf +share/openc++/examples/BeforeClass.mc +share/openc++/examples/GraphClass.h +share/openc++/examples/GraphClass.mc +share/openc++/examples/Makefile +share/openc++/examples/Makefile.IrixCC +share/openc++/examples/Makefile.Win +share/openc++/examples/Makefile.static +share/openc++/examples/MatrixClass.mc +share/openc++/examples/Readme +share/openc++/examples/RtmopClass.h +share/openc++/examples/RtmopClass.mc +share/openc++/examples/SyncClass.mc +share/openc++/examples/VerboseClass.mc +share/openc++/examples/VerboseClass2.mc +share/openc++/examples/WrapperClass.h +share/openc++/examples/WrapperClass.mc +share/openc++/examples/baseScript +share/openc++/examples/before-test.cc +share/openc++/examples/gclass-test.cc +share/openc++/examples/matrix-test.cc +share/openc++/examples/matrix.cc +share/openc++/examples/matrix.h +share/openc++/examples/metaobj-test.cc +share/openc++/examples/metaobj.cc +share/openc++/examples/metaobj.h +share/openc++/examples/person.cc +share/openc++/examples/person2.cc +share/openc++/examples/sync-test.cc +@dirrm share/openc++/examples +@dirrm share/openc++/doc/html +@dirrm share/openc++/doc +@dirrm share/openc++ +@dirrm include/openc++ diff --git a/lang/openc++/distinfo b/lang/openc++/distinfo new file mode 100644 index 00000000000..e10d89d180c --- /dev/null +++ b/lang/openc++/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ + +SHA1 (opencxx2512.tar.gz) = 9f75238a244ec6256ea4379be47752a0453b1115 +Size (opencxx2512.tar.gz) = 635457 bytes +SHA1 (patch-aa) = 19174ce593e5e92d4124a6656567accd133c1757 +SHA1 (patch-ab) = afbbda7e3767f4f4c6f6eea6f4328a1113fa3a37 +SHA1 (patch-ac) = 24afbf818c52b1f657298731ccdddfc3262fe965 +SHA1 (patch-ad) = 80df6740cf9a723c1149288d8c4b1da4e98fd06c diff --git a/lang/openc++/patches/patch-aa b/lang/openc++/patches/patch-aa new file mode 100644 index 00000000000..2096e184c12 --- /dev/null +++ b/lang/openc++/patches/patch-aa @@ -0,0 +1,24 @@ +$NetBSD: patch-aa,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ + +--- ../../sample/Makefile.orig Thu Dec 9 10:18:37 1999 ++++ ../../sample/Makefile +@@ -29,15 +29,15 @@ + # NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGES. + +-# Makefile for Unix platforms ++# Example Makefile for pkgsrc + +-OCC = ../src/Unix/occ ++OCC = LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:. occ + + CFLAGS = -g + CXXFLAGS = -g +-OCCFLAGS = -I../src -- $(CXXFLAGS) ++OCCFLAGS = -I__LOCALBASE__/include -I__LOCALBASE__/include/openc++ -- $(CXXFLAGS) + +-LIB = ../src/Unix/opencxx.a ++LIB = __LOCALBASE__/lib/opencxx.a + + %.so : %.mc + $(OCC) -m $(OCCFLAGS) $< diff --git a/lang/openc++/patches/patch-ab b/lang/openc++/patches/patch-ab new file mode 100644 index 00000000000..caf7b119c27 --- /dev/null +++ b/lang/openc++/patches/patch-ab @@ -0,0 +1,41 @@ +$NetBSD: patch-ab,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ + +--- Makefile.SunOSandBSD.orig Wed Oct 17 07:40:48 2001 ++++ Makefile.SunOSandBSD +@@ -16,27 +16,28 @@ + # + # This makefile was written for GNU make. + +-CCC = g++ +-CXX = g++ ++#CCC = g++ ++#CXX = g++ + RANLIB = ranlib + +-CFLAGS = -O -g +-CXXFLAGS = -O -g -ansi -Wall -pedantic +-GCLIB = ../gc/gc.a +-LDFLAGS = ++#CFLAGS = -O -g ++CXXFLAGS += ${INCLUDES} -ansi -Wall -pedantic ++GCLIB = ${GCLIBDIR}/lib/libgc.a ++LDFLAGS += -export-dynamic + LIB = + ++ + OBJ = buffer.o hash.o token.o ptree.o ptree-core.o encoding.o env.o\ + pattern.o walker.o typeinfo.o parse.o main-con.o mop.o classwalk.o\ + metaclass.o quote-class.o member.o driver.o driver2.o cbodywalk.o + + %.o : ../%.cc +- $(CXX) $(CXXFLAGS) -c -o $@ $< ++ $(CXX) ${CXXFLAGS} -c -o $@ $< + + all : libocc + + libocc : opencxx.a +- $(CXX) $(CXXFLAGS) $(LDFLAGS) -o occ opencxx.a $(LIB) ++ $(CXX) ${CXXFLAGS} $(LDFLAGS) -o occ opencxx.a $(LIB) + + opencxx.a : $(OBJ) + cp $(GCLIB) $@ diff --git a/lang/openc++/patches/patch-ac b/lang/openc++/patches/patch-ac new file mode 100644 index 00000000000..23485acb442 --- /dev/null +++ b/lang/openc++/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ + +--- ../hash.cc.orig Wed Oct 17 07:40:48 2001 ++++ ../hash.cc +@@ -39,7 +39,7 @@ + #include "hash.h" + #include "ptree-core.h" + #ifndef DONT_GC +-#include "gc/gc.h" ++#include <gc.h> + #endif + + struct HashTableEntry { diff --git a/lang/openc++/patches/patch-ad b/lang/openc++/patches/patch-ad new file mode 100644 index 00000000000..7c667e15b8d --- /dev/null +++ b/lang/openc++/patches/patch-ad @@ -0,0 +1,22 @@ +$NetBSD: patch-ad,v 1.1.1.1 2002/12/11 19:03:17 cjep Exp $ + +--- ../types.h.orig Wed Oct 17 07:40:48 2001 ++++ ../types.h +@@ -80,7 +80,7 @@ typedef unsigned int uint; + #define OCXXMOP + #endif + +-#if (defined(__FreeBSD__) && __FreeBSD__ <= 2) || defined (__OpenBSD__) || defined (__NetBSD__) ++#if (defined(__FreeBSD__) && __FreeBSD__ <= 2) || defined (__OpenBSD__) + #define DLSYM_NEED_UNDERSCORE 1 + #define SHARED_OPTION 0 + #else // Solaris, SunOS, Linux, Irix, FreeBSD 3.x +@@ -128,7 +128,7 @@ inline void* operator new [](size_t size + + #else + +-#include "gc/gc_cpp.h" ++#include <gc_cpp.h> + typedef gc LightObject; + typedef gc_cleanup Object; + |