summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorcjep <cjep@pkgsrc.org>2002-12-11 19:03:17 +0000
committercjep <cjep@pkgsrc.org>2002-12-11 19:03:17 +0000
commit866b880b5e13073071eee50a3aea25a159565d08 (patch)
tree6112c057a3ffc02998596f7c8d57c0d42224cef0 /lang
parentbcde77e8f808546239d482dba8def40c5ce97e58 (diff)
downloadpkgsrc-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')
-rw-r--r--lang/openc++/DESCR9
-rw-r--r--lang/openc++/Makefile41
-rw-r--r--lang/openc++/PLIST73
-rw-r--r--lang/openc++/distinfo8
-rw-r--r--lang/openc++/patches/patch-aa24
-rw-r--r--lang/openc++/patches/patch-ab41
-rw-r--r--lang/openc++/patches/patch-ac13
-rw-r--r--lang/openc++/patches/patch-ad22
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;
+