aboutsummaryrefslogtreecommitdiffstats
path: root/lang/wamcc
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>1999-11-01 11:46:48 +0800
committersteve <steve@FreeBSD.org>1999-11-01 11:46:48 +0800
commitfe9b192ee9fcaf40bfcd499dc8e7f091df4b612a (patch)
tree67da5452f350213d5be8e10aaca9882951822a86 /lang/wamcc
parentf8ea79cb20e6267006e358dc5e862a6e10a35935 (diff)
downloadfreebsd-ports-gnome-fe9b192ee9fcaf40bfcd499dc8e7f091df4b612a.tar.gz
freebsd-ports-gnome-fe9b192ee9fcaf40bfcd499dc8e7f091df4b612a.tar.zst
freebsd-ports-gnome-fe9b192ee9fcaf40bfcd499dc8e7f091df4b612a.zip
Initial import of wamcc version 2.22.
A Prolog-to-C translator from Inria. PR: 13745 Submitted by: W. Gerald Hicks <wghicks@bellsouth.net>
Diffstat (limited to 'lang/wamcc')
-rw-r--r--lang/wamcc/Makefile20
-rw-r--r--lang/wamcc/distinfo2
-rw-r--r--lang/wamcc/files/patch-aa68
-rw-r--r--lang/wamcc/files/patch-ab11
-rw-r--r--lang/wamcc/files/patch-ac51
-rw-r--r--lang/wamcc/files/patch-ad36
-rw-r--r--lang/wamcc/files/patch-ae14
-rw-r--r--lang/wamcc/files/patch-af48
-rw-r--r--lang/wamcc/pkg-comment1
-rw-r--r--lang/wamcc/pkg-descr18
-rw-r--r--lang/wamcc/pkg-plist86
11 files changed, 355 insertions, 0 deletions
diff --git a/lang/wamcc/Makefile b/lang/wamcc/Makefile
new file mode 100644
index 000000000000..d8eb3e31035a
--- /dev/null
+++ b/lang/wamcc/Makefile
@@ -0,0 +1,20 @@
+# New ports collection makefile for: wamcc
+# Version required: 2.22
+# Date created: 14 September 1999
+# Whom: Jerry Hicks <wghicks@bellsouth.net>
+#
+# $FreeBSD$
+#
+
+DISTNAME= wamcc2.22
+PKGNAME= wamcc-2.22
+CATEGORIES= lang
+MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/loco/wamcc/
+DISTFILES= wamcc2.22.tar.Z prg.tar.Z
+
+MAINTAINER= wghicks@bellsouth.net
+
+DIST_SUBDIR= wamcc
+NO_WRKSUBDIR= yes
+
+.include <bsd.port.mk>
diff --git a/lang/wamcc/distinfo b/lang/wamcc/distinfo
new file mode 100644
index 000000000000..cdfc5d939d6d
--- /dev/null
+++ b/lang/wamcc/distinfo
@@ -0,0 +1,2 @@
+MD5 (wamcc/wamcc2.22.tar.Z) = dadc24bdee8a3167b4cffa32a936c00b
+MD5 (wamcc/prg.tar.Z) = fc9bee37ab3449535a5fb83c601e2da1
diff --git a/lang/wamcc/files/patch-aa b/lang/wamcc/files/patch-aa
new file mode 100644
index 000000000000..782e1bdcdee2
--- /dev/null
+++ b/lang/wamcc/files/patch-aa
@@ -0,0 +1,68 @@
+--- Makefile.orig Tue Mar 7 03:21:05 1995
++++ Makefile Sun Oct 31 13:03:29 1999
+@@ -5,12 +5,16 @@
+ # /* Makefile */
+ # /*-----------------------------------------------------------------------*/
+
+-# you can change the following paths
++PREFIX?= /usr/local
++INCPATH= $(PREFIX)/include/wamcc
++LIBPATH= $(PREFIX)/lib/wamcc
++BINPATH= $(PREFIX)/bin
++DOCPATH= $(PREFIX)/share/doc/wamcc
++EXAMPLEPATH= $(PREFIX)/share/examples/wamcc
++
++PROGRAMS= src/$(COMPILER) src/$(BMF) src/hex2pl src/pl2hex
++SCRIPTS= src/$(WCC)
+
+-ROOTPATH= $(HOME)/$(COMPILER)
+-INCPATH = $(ROOTPATH)/include
+-LIBPATH = $(ROOTPATH)/lib
+-BINPATH = $(ROOTPATH)/bin
+
+ # you can specify the name of the C compiler
+
+@@ -25,24 +29,28 @@
+
+ EXECS = $(WCC) $(COMPILER) $(BMF) hex2pl pl2hex
+
+-install:
+- cd src; echo $(ROOTPATH);\
++all:
++ (cd src; \
+ make $(WCC) COMPILER=$(COMPILER) INCPATH=$(INCPATH) \
+- LIBPATH=$(LIBPATH) CC=$(CC) WCC=$(WCC)
+- cd Builtin; \
+- make COMPILER=$(COMPILER) CC=$(CC) WCC=../src/$(WCC)
+- cd src; \
++ LIBPATH=$(LIBPATH) CC=$(CC) WCC=$(WCC))
++ (cd Builtin; \
++ make COMPILER=$(COMPILER) CC=$(CC) WCC=../src/$(WCC))
++ (cd src; \
+ make COMPILER=$(COMPILER) INCPATH=$(INCPATH) \
+- LIBPATH=$(LIBPATH) CC=$(CC) WCC=$(WCC)
+- -mkdir -p $(INCPATH)
+- -mkdir -p $(LIBPATH)
+- -mkdir -p $(BINPATH)
+- cp src/*.h $(INCPATH)
+- rm $(INCPATH)/wamcc*.h
+- cp src/*.a $(LIBPATH)
+- ranlib $(LIBPATH)/*.a
+- cp src/$(WCC) src/$(COMPILER) src/$(BMF) src/hex2pl src/pl2hex $(BINPATH)
++ LIBPATH=$(LIBPATH) CC=$(CC) WCC=$(WCC))
+
++install:
++ $(INSTALL) -d $(INCPATH)
++ $(INSTALL) -c -m 444 src/*.h $(INCPATH)
++ $(INSTALL) -d $(LIBPATH)
++ $(INSTALL) -c -m 444 src/*.a $(LIBPATH)
++ $(INSTALL) -d $(DOCPATH)
++ $(INSTALL) -c -m 444 doc/* $(DOCPATH)
++ $(INSTALL) -d $(EXAMPLEPATH)
++ $(INSTALL) -c -m 444 Examples/* $(EXAMPLEPATH)
++ $(INSTALL) -d $(BINPATH)
++ $(INSTALL) -c -m 555 $(SCRIPTS) $(BINPATH)
++ $(INSTALL) -c -s -m 555 $(PROGRAMS) $(BINPATH)
+
+ clean:
+ cd src; make clean
diff --git a/lang/wamcc/files/patch-ab b/lang/wamcc/files/patch-ab
new file mode 100644
index 000000000000..0de56c1bd19a
--- /dev/null
+++ b/lang/wamcc/files/patch-ab
@@ -0,0 +1,11 @@
+--- Builtin/Makefile.orig Fri Dec 23 18:10:02 1994
++++ Builtin/Makefile Tue Sep 14 04:17:29 1999
+@@ -51,7 +51,7 @@
+
+
+ starter.c: build_starter Makefile
+- build_starter $(BIPS) >starter.c
++ ./build_starter $(BIPS) >starter.c
+
+ build_starter: build_starter.c
+ $(CC) $(CFLAGS) $(LFLAGS) -o build_starter build_starter.c
diff --git a/lang/wamcc/files/patch-ac b/lang/wamcc/files/patch-ac
new file mode 100644
index 000000000000..b3c3dbd3e456
--- /dev/null
+++ b/lang/wamcc/files/patch-ac
@@ -0,0 +1,51 @@
+--- src/Makefile.orig Wed Jan 29 11:37:54 1997
++++ src/Makefile Tue Sep 14 04:16:11 1999
+@@ -49,22 +49,22 @@
+
+
+ machine.o: machine.h archi.h wam_engine.h machine.c
+- $(WCC) $(CFLAGS) -c machine.c
++ ./$(WCC) $(CFLAGS) -c machine.c
+
+ wam_engine.o: machine.h archi.h wam_engine.h atom_pred.h wam_engine.c
+- $(WCC) $(CFLAGS) -c wam_engine.c
++ ./$(WCC) $(CFLAGS) -c wam_engine.c
+
+ wam_engine_pp.o: machine.h archi.h wam_engine.h atom_pred.h wam_engine.c
+- $(WCC) $(CFLAGS) -DWAM_PROFILE -c -o wam_engine_pp.o wam_engine.c
++ ./$(WCC) $(CFLAGS) -DWAM_PROFILE -c -o wam_engine_pp.o wam_engine.c
+
+ atom_pred.o: machine.h archi.h wam_engine.h atom_pred.h atom_pred.c
+- $(WCC) $(CFLAGS) -c atom_pred.c
++ ./$(WCC) $(CFLAGS) -c atom_pred.c
+
+ debugger.o: machine.h archi.h wam_engine.h atom_pred.h debugger.c
+- $(WCC) $(CFLAGS) -c debugger.c
++ ./$(WCC) $(CFLAGS) -c debugger.c
+
+ hash.o: machine.h hash.c
+- $(WCC) $(CFLAGS) -c hash.c
++ ./$(WCC) $(CFLAGS) -c hash.c
+
+
+
+@@ -79,7 +79,7 @@
+
+
+ $(WCC): configure archi.def
+- configure
++ ./configure
+ chmod a+x $(WCC)
+
+ $(BMF): bmf.c
+@@ -95,8 +95,8 @@
+ $(CC) $(CFLAGS) $(LFLAGS) -o pl2hex pl2hex.c
+
+ $(COMPILER):
+- $(WCC) $(CFLAGS) -c wamcc*.c
+- $(WCC) $(CFLAGS) $(LFLAGS) -s -o $(COMPILER) wamcc*.o -l$(COMPILER)
++ ./$(WCC) $(CFLAGS) -c wamcc*.c
++ ./$(WCC) $(CFLAGS) $(LFLAGS) -s -o $(COMPILER) wamcc*.o -l$(COMPILER)
+
+
+
diff --git a/lang/wamcc/files/patch-ad b/lang/wamcc/files/patch-ad
new file mode 100644
index 000000000000..a8372a5a409f
--- /dev/null
+++ b/lang/wamcc/files/patch-ad
@@ -0,0 +1,36 @@
+--- src/debugger.c.orig Sun Dec 18 12:15:55 1994
++++ src/debugger.c Tue Sep 14 04:16:44 1999
+@@ -278,7 +278,15 @@
+
+ #define Y_Storing_Invoc_Nb(e) (Y(e,3)) /* see call.pl */
+
++static void mygets(char *str, int size)
++{
++ char *p;
++ fgets(str,size,stdin);
+
++ p = index(str, '\n');
++ if(p)
++ *p = '\0';
++}
+
+
+
+@@ -959,7 +967,7 @@
+ Lib1(printf," ? ");
+
+ *str='\0';
+- Lib1(gets,str);
++ Lib2(mygets,str,sizeof(str) - 1);
+ if (*str=='\0')
+ Lib2(strcpy,str,"creep");
+
+@@ -2047,7 +2055,7 @@
+ Lib1(printf,"\nNew value: ");
+
+ *str='\0';
+- Lib1(gets,str);
++ Lib2(mygets,str,sizeof(str) - 1);
+ if (*str=='\0')
+ return;
+
diff --git a/lang/wamcc/files/patch-ae b/lang/wamcc/files/patch-ae
new file mode 100644
index 000000000000..b8b6e2009d58
--- /dev/null
+++ b/lang/wamcc/files/patch-ae
@@ -0,0 +1,14 @@
+--- src/machine.c.orig Sun Dec 18 12:15:59 1994
++++ src/machine.c Tue Sep 14 04:16:29 1999
+@@ -52,7 +52,11 @@
+
+ #endif
+
++#if !defined(M_i386_freebsd) && !defined(M_alpha_freebsd)
++
+ extern char *sys_errlist[];
++
++#endif
+
+
+
diff --git a/lang/wamcc/files/patch-af b/lang/wamcc/files/patch-af
new file mode 100644
index 000000000000..4702250322bf
--- /dev/null
+++ b/lang/wamcc/files/patch-af
@@ -0,0 +1,48 @@
+--- src/machine.h.orig Mon Oct 23 10:59:26 1995
++++ src/machine.h Tue Sep 14 04:13:45 1999
+@@ -33,6 +33,16 @@
+ # define M_MACHINE "dec_alpha"
+ # define M_dec_alpha
+
++# elif defined(__FreeBSD__) && defined(i386)
++
++ #define M_MACHINE "i386_freebsd"
++ #define M_i386_freebsd
++
++# elif defined(__FreeBSD__) && defined(alpha)
++
++ #define M_MACHINE "alpha_freebsd"
++ #define M_alpha_freebsd
++
+ # elif defined(__linux__) && !defined(__ELF__)
+
+ # define M_MACHINE "pc_linux_a_out"
+@@ -101,7 +111,8 @@
+ /*---------------------------------*/
+
+ #if defined(M_sony_news) || defined(M_dec_ultrix) || defined(M_dec_alpha) ||\
+- defined(M_pc_linux_elf)
++ defined(M_pc_linux_elf) || defined(M_i386_freebsd) ||\
++ defined(M_alpha_freebsd)
+
+ # define M_Asm_Symbol1(name) #name
+ # define M_Asm_Symbol(name) M_Asm_Symbol1(name)
+@@ -122,7 +133,8 @@
+
+
+ #if defined(M_sparc) || defined(M_dec_ultrix) || defined(M_sony_news) || \
+- defined(M_NeXT_hppa) || defined(M_dec_alpha)
++ defined(M_NeXT_hppa) || defined(M_dec_alpha) || defined(M_i386_freebsd) ||\
++ defined(M_alpha_freebsd)
+
+ # define M_Save_Control_Info
+ # define M_Restore_Control_Info
+@@ -145,7 +157,7 @@
+
+
+ #if defined(M_sparc) || defined(M_dec_ultrix) || defined(M_sony_news) || \
+- defined(M_NeXT_hppa)
++ defined(M_NeXT_hppa) || defined(M_i386_freebsd) || defined(M_alpha_freebsd)
+
+ # define M_Direct_Goto(lab) {lab(); return;}
+ # define M_Indirect_Goto(p_lab) {(* ((void (*)()) p_lab))();return;}
diff --git a/lang/wamcc/pkg-comment b/lang/wamcc/pkg-comment
new file mode 100644
index 000000000000..871a8d6092ba
--- /dev/null
+++ b/lang/wamcc/pkg-comment
@@ -0,0 +1 @@
+Prolog-to-C translator from Inria
diff --git a/lang/wamcc/pkg-descr b/lang/wamcc/pkg-descr
new file mode 100644
index 000000000000..8e954bde8e30
--- /dev/null
+++ b/lang/wamcc/pkg-descr
@@ -0,0 +1,18 @@
+wamcc is a Prolog Compiler which translates Prolog to C via the WAM
+(Warren Abstract Machine). wamcc has a syntax which conforms to the
+proposed ISO standard.
+
+wamcc offers the most usual built-in predicates, a top-level, a Prolog
+debugger and a WAM debugger, dynamic and compiled code, modules,
+global variables, global arrays...). wamcc is designed to be easily
+extended (e.g. clp(FD) is a constraint logic language over Finite
+Domains designed on wamcc).
+
+wamcc tries tries to be conform to the (future) ISO standard Prolog.
+The draft ISO standard for Prolog is available by anonymous ftp from
+ai.uga.edu:/pub/prolog.standard/ [128.192.12.9]. An unofficial summary
+of the draft ISO Prolog standard is available from the same location
+as isoprolog.tex or isoprolog.ps.Z.
+
+The directory /usr/local/share/doc/wamcc contains a user's manual as
+a LaTeX file. Examples are installed in /usr/local/share/examples/wamcc.
diff --git a/lang/wamcc/pkg-plist b/lang/wamcc/pkg-plist
new file mode 100644
index 000000000000..f8f3ac68ccb5
--- /dev/null
+++ b/lang/wamcc/pkg-plist
@@ -0,0 +1,86 @@
+bin/bmf_wamcc
+bin/hex2pl
+bin/pl2hex
+bin/w_gcc
+bin/wamcc
+include/wamcc/archi.h
+include/wamcc/atom_pred.h
+include/wamcc/bool.h
+include/wamcc/builtin.h
+include/wamcc/debugger.h
+include/wamcc/hash.h
+include/wamcc/machine.h
+include/wamcc/wam_engine.h
+include/wamcc/wam_interface.h
+include/wamcc/wamcc.h
+include/wamcc/wamcc0.h
+include/wamcc/wamcc1.h
+include/wamcc/wamcc2.h
+include/wamcc/wamcc3.h
+include/wamcc/wamcc4.h
+include/wamcc/wamcc5.h
+include/wamcc/wamcc6.h
+include/wamcc/wamcc7.h
+include/wamcc/wamcc8.h
+lib/wamcc/libwamcc.a
+lib/wamcc/libwamcc_pp.a
+share/doc/wamcc/wamcc_manual.tex
+share/examples/wamcc/README
+share/examples/wamcc/boyer.mk
+share/examples/wamcc/boyer.pl
+share/examples/wamcc/boyer.usr
+share/examples/wamcc/browse.mk
+share/examples/wamcc/browse.pl
+share/examples/wamcc/browse.usr
+share/examples/wamcc/cal.mk
+share/examples/wamcc/cal.pl
+share/examples/wamcc/cal.usr
+share/examples/wamcc/chat_parser.mk
+share/examples/wamcc/chat_parser.pl
+share/examples/wamcc/chat_parser.usr
+share/examples/wamcc/crypt.mk
+share/examples/wamcc/crypt.pl
+share/examples/wamcc/crypt.usr
+share/examples/wamcc/ham.mk
+share/examples/wamcc/ham.pl
+share/examples/wamcc/ham.usr
+share/examples/wamcc/meta_qsort.mk
+share/examples/wamcc/meta_qsort.pl
+share/examples/wamcc/meta_qsort.usr
+share/examples/wamcc/nand.mk
+share/examples/wamcc/nand.pl
+share/examples/wamcc/nand.usr
+share/examples/wamcc/nrev.mk
+share/examples/wamcc/nrev.pl
+share/examples/wamcc/nrev.usr
+share/examples/wamcc/poly_10.mk
+share/examples/wamcc/poly_10.pl
+share/examples/wamcc/poly_10.usr
+share/examples/wamcc/queens.mk
+share/examples/wamcc/queens.pl
+share/examples/wamcc/queens.usr
+share/examples/wamcc/queens8.mk
+share/examples/wamcc/queens8.pl
+share/examples/wamcc/queens8.usr
+share/examples/wamcc/reducer.mk
+share/examples/wamcc/reducer.pl
+share/examples/wamcc/reducer.usr
+share/examples/wamcc/sdda.mk
+share/examples/wamcc/sdda.pl
+share/examples/wamcc/sdda.usr
+share/examples/wamcc/sendmore.mk
+share/examples/wamcc/sendmore.pl
+share/examples/wamcc/sendmore.usr
+share/examples/wamcc/tak.mk
+share/examples/wamcc/tak.pl
+share/examples/wamcc/tak.usr
+share/examples/wamcc/tak_gvar.mk
+share/examples/wamcc/tak_gvar.pl
+share/examples/wamcc/tak_gvar.usr
+share/examples/wamcc/zebra.mk
+share/examples/wamcc/zebra.pl
+share/examples/wamcc/zebra.usr
+@dirrm include/wamcc
+@dirrm lib/wamcc
+@dirrm share/doc/wamcc
+@dirrm share/examples/wamcc