From owner-freebsd-ports Wed Dec 10 23:40:10 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id XAA13460 for ports-outgoing; Wed, 10 Dec 1997 23:40:10 -0800 (PST) (envelope-from owner-freebsd-ports) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id XAA13453; Wed, 10 Dec 1997 23:40:07 -0800 (PST) (envelope-from gnats) Resent-Date: Wed, 10 Dec 1997 23:40:07 -0800 (PST) Resent-Message-Id: <199712110740.XAA13453@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-ports Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, andy@icc.surw.chel.su Received: from rich.chel.su (mobil.surnet.ru [195.54.2.7]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id XAA12600 for ; Wed, 10 Dec 1997 23:28:19 -0800 (PST) (envelope-from andy@icc.surw.chel.su) Received: from icc.surw.chel.su (surw.chel.su [195.54.2.162]) by rich.chel.su (8.7.2/Murphy) with ESMTP id KAA06647 for ; Thu, 11 Dec 1997 10:56:09 +0500 (UST) Received: (from andy@localhost) by icc.surw.chel.su (8.8.5/8.8.4) id IAA05695; Thu, 11 Dec 1997 08:57:54 +0300 (MSK) Message-Id: <199712110557.IAA05695@icc.surw.chel.su> Date: Thu, 11 Dec 1997 08:57:54 +0300 (MSK) From: Andrey Zakhvatov Reply-To: andy@icc.surw.chel.su To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: ports/5270: New port: ptoc-2.01 Sender: owner-freebsd-ports@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 5270 >Category: ports >Synopsis: New port: ptoc-2.01 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Dec 10 23:40:01 PST 1997 >Last-Modified: >Originator: Andrey Zakhvatov >Organization: South Ural Railway ICC >Release: FreeBSD 2.2.2-RELEASE i386 >Environment: >Description: This is a port of the ANSI/Turbo Pascal to C/C++ converter. This is yet another ANSI/Turbo Pascal to C/C++ converter together with BGI graphics library emulation for X Window System. Converter recognizes Pascal dialects which are compatible with Turbo Pascal 4.0/5.0 and ISO Pascal standard - IEC 7185:1990(E) (including conformant arrays). Now it is tuned for Oregon Pascal-2 # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ptoc-2.01 # ptoc-2.01/Makefile # ptoc-2.01/files # ptoc-2.01/files/md5 # ptoc-2.01/files/Makefile # ptoc-2.01/patches # ptoc-2.01/patches/patch-ab # ptoc-2.01/patches/patch-aa # ptoc-2.01/patches/patch-ac # ptoc-2.01/patches/patch-ad # ptoc-2.01/pkg # ptoc-2.01/pkg/PLIST # ptoc-2.01/pkg/COMMENT # ptoc-2.01/pkg/DESCR # echo c - ptoc-2.01 mkdir -p ptoc-2.01 > /dev/null 2>&1 echo x - ptoc-2.01/Makefile sed 's/^X//' >ptoc-2.01/Makefile << 'END-of-ptoc-2.01/Makefile' X# New ports collection makefile for: ptoc X# Version required: 2.01 X# Date created: 10 December 1997 X# Whom: Andrey Zakhvatov X# X# $Id$ X# X XDISTNAME= ptoc XPKGNAME= ptoc-2.01 XCATEGORIES= devel converters x11 XMASTER_SITES= ${MASTER_SITE_SUNSITE} XMASTER_SITE_SUBDIR= devel/lang/pascal XEXTRACT_SUFX= .tgz X XMAINTAINER= andy@icc.surw.chel.su X XWRKSRC= ${WRKDIR}/ptoc XMAKEFILE= makefile X Xpre-build: X @ ${RM} ${WRKSRC}/libXbgi.a X @ ${RM} ${WRKSRC}/libptoc.a X Xdo-install: X @ ${INSTALL_PROGRAM} ${WRKSRC}/cganal ${PREFIX}/bin X @ ${INSTALL_PROGRAM} ${WRKSRC}/ptoc ${PREFIX}/bin X @ ${INSTALL_DATA} ${WRKSRC}/ptoc.cfg ${PREFIX}/etc X @ ${INSTALL_DATA} ${WRKSRC}/libptoc.a ${PREFIX}/lib X @ ${INSTALL_DATA} ${WRKSRC}/libXbgi.a ${PREFIX}/lib X @ ${MKDIR} ${PREFIX}/include/ptoc X.for file in array.h graph.h io.h paslib.h ptoc.h set.h X @ ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/include/ptoc X.endfor X @ ${MKDIR} ${PREFIX}/share/ptoc X.for file in ptoc.pas tptoc.pas graph.pas X @ ${INSTALL_DATA} ${WRKSRC}/${file} ${PREFIX}/share/ptoc X.endfor X @ ${MKDIR} ${PREFIX}/share/doc/ptoc X @ ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/ptoc X @ ${INSTALL_DATA} ${WRKSRC}/paslib.doc ${PREFIX}/share/doc/ptoc X @ ${MKDIR} ${PREFIX}/share/examples/ptoc X @ ${INSTALL_DATA} ${FILESDIR}/Makefile ${PREFIX}/share/examples/ptoc X.for file in bgidemo.pas coord.txt hello.pas impact.pas lister.pas polut2.pas printer.pas q2.txt random.txt rename.pas set.pas test.pas tpascal.pas trinor.pas vibrkinp.pas vibrkinp.txt vibrtabl.pas war2.pas xy2orig.txt X @ ${INSTALL_DATA} ${WRKSRC}/examples/${file} ${PREFIX}/share/examples/ptoc X.endfor X X.include END-of-ptoc-2.01/Makefile echo c - ptoc-2.01/files mkdir -p ptoc-2.01/files > /dev/null 2>&1 echo x - ptoc-2.01/files/md5 sed 's/^X//' >ptoc-2.01/files/md5 << 'END-of-ptoc-2.01/files/md5' XMD5 (ptoc.tgz) = 41115dc1b6e74ce8cd9048644c2ef41f END-of-ptoc-2.01/files/md5 echo x - ptoc-2.01/files/Makefile sed 's/^X//' >ptoc-2.01/files/Makefile << 'END-of-ptoc-2.01/files/Makefile' XCC= gcc -O -I. -I/usr/local/include/ptoc -L/usr/local/lib -L/usr/X11R6/lib XCGANAL= cganal XPTOC= ptoc -I .:/usr/local/share/ptoc XPTOC_LIB= -lptoc XBGI_LIB= -lXbgi XGRAPH_LIB= -lX11 XMATH_LIB= -lm X XEXE = hello_c hello_cxx impact war2 trinor tpascal set_c set_cxx lister polut2 vibrkinp vibrtabl bgidemo X Xall: convert executable X Xconvert: hello.c hello.cxx impact.cxx war2.cxx test.c test.cxx polut2.cxx \ Xrename.cxx tpascal.cxx trinor.cxx lister.cxx vibrkinp.cxx vibrtabl.cxx bgidemo.cxx X Xexecutable: $(EXE) X X# Hello world X Xhello.c: hello.pas X $(PTOC) -c -in hello.pas X Xhello.cxx: hello.pas X $(PTOC) -in hello.pas X Xhello_c: hello.c X $(CC) -o hello_c hello.c $(PTOC_LIB) X Xhello_cxx: hello.cxx X $(CC) -o hello_cxx hello.cxx $(PTOC_LIB) X X#---------------------------------------------------------------- X# Graphic example: BGIDEMO X#---------------------------------------------------------------- Xbgidemo.cxx: bgidemo.pas X $(PTOC) -turbo -analyze -in bgidemo.pas X Xbgidemo: bgidemo.cxx X $(CC) -DTURBO_PASCAL -funsigned-char -o bgidemo bgidemo.cxx $(PTOC_LIB) $(BGI_LIB) $(GRAPH_LIB) $(MATH_LIB) X X#---------------------------------------------------------------- X# Some numeric programs for Turbo Pascal X#---------------------------------------------------------------- X X# Examples with BGI Xvibrtabl.cxx: vibrtabl.pas X $(PTOC) -turbo -in vibrtabl.pas X Xvibrtabl: vibrtabl.cxx X $(CC) -DTURBO_PASCAL -o vibrtabl vibrtabl.cxx $(PTOC_LIB) $(BGI_LIB) $(GRAPH_LIB) $(MATH_LIB) X X Xvibrkinp.cxx: vibrkinp.pas X $(PTOC) -turbo -in vibrkinp.pas X Xvibrkinp: vibrkinp.cxx X $(CC) -DTURBO_PASCAL -o vibrkinp vibrkinp.cxx $(PTOC_LIB) $(BGI_LIB) $(GRAPH_LIB) $(MATH_LIB) X X Xpolut2.cxx: polut2.pas X $(PTOC) -turbo -in polut2.pas X Xpolut2: polut2.cxx X $(CC) -DTURBO_PASCAL -o polut2 polut2.cxx $(PTOC_LIB) $(BGI_LIB) $(GRAPH_LIB) $(MATH_LIB) X Ximpact.cxx: impact.pas X $(PTOC) -turbo -in impact.pas X Ximpact: impact.cxx X $(CC) -DTURBO_PASCAL -o impact impact.cxx $(PTOC_LIB) $(MATH_LIB) X Xtrinor.cxx: trinor.pas X $(PTOC) -turbo -in trinor.pas X Xtrinor: trinor.cxx X $(CC) -DTURBO_PASCAL -o trinor trinor.cxx $(PTOC_LIB) $(MATH_LIB) X X Xwar2.cxx: war2.pas X $(PTOC) -turbo -in war2.pas X Xwar2: war2.cxx X $(CC) -DTURBO_PASCAL -o war2 war2.cxx $(PTOC_LIB) $(MATH_LIB) X# This program reads data from files war2.txt, random.txt, coord.txt X# and produce file xy2.txt. Your can compare this file with xy2orig.txt X# produced by original Pascal program. X X#------------------------------------------------------------------- X# File from examples to Borland Pascal. X#------------------------------------------------------------------- X Xlister.cxx: lister.pas X $(PTOC) -turbo -init -in lister.pas X Xprinter.cxx: printer.pas X $(PTOC) -turbo -init -in printer.pas X Xlister: lister.cxx printer.cxx X $(CC) -DTURBO_PASCAL -o lister lister.cxx printer.cxx $(PTOC_LIB) X X#------------------------------------------------------------------- X# Some tests for converter. This programms produce dummy output. X#------------------------------------------------------------------- X Xtest.c: test.pas X rm -f call.grp X $(PTOC) -c -analyze -smallenum -intset -in test.pas X $(CGANAL) X $(PTOC) -c -analyze -smallenum -intset -in test.pas X# It is neccessary to run converter twice. X# At first phase call graph of functions is constructed and X# at second phase correct code is generated. X Xtest.cxx: test.pas X rm -f call.grp X $(PTOC) -analyze -in test.pas X $(CGANAL) X $(PTOC) -analyze -in test.pas X Xrename.cxx: rename.pas X $(PTOC) -in rename.pas X Xset.cxx: set.pas X $(PTOC) -in set.pas X Xset.c: set.pas X $(PTOC) -c -intset -in set.pas X Xset_cxx: set.cxx X $(CC) -o set_cxx set.cxx $(PTOC_LIB) X Xset_c: set.c X $(CC) -o set_c set.c $(PTOC_LIB) X X# Test for Turbo Pascal X Xtpascal.cxx: tpascal.pas X $(PTOC) -turbo -cstring -in tpascal.pas X Xtpascal: tpascal.cxx X $(CC) -o tpascal -DTURBO_PASCAL tpascal.cxx $(PTOC_LIB) X X Xclean: X rm -f $(EXE) *~ *.o core call.grp recur.prc END-of-ptoc-2.01/files/Makefile echo c - ptoc-2.01/patches mkdir -p ptoc-2.01/patches > /dev/null 2>&1 echo x - ptoc-2.01/patches/patch-ab sed 's/^X//' >ptoc-2.01/patches/patch-ab << 'END-of-ptoc-2.01/patches/patch-ab' X--- Xbgi/makefile Thu Jun 26 14:43:30 1997 X+++ /home/andy/tmp/wrk/Xbgi/makefile Mon Dec 8 17:01:03 1997 X@@ -44,12 +44,12 @@ X LIB = ../libXbgi.a X X CC = gcc X-CCFLAGS = -O2 -g X+CFLAGS+= -I/usr/X11R6/include X AR = ar X ARFLAGS = rc X X .c.o: X- $(CC) $(CCFLAGS) -c $< X+ $(CC) $(CFLAGS) -c $< X X ../libXbgi.a: $(OBJ) X $(AR) $(ARFLAGS) $(LIB) $(OBJ) END-of-ptoc-2.01/patches/patch-ab echo x - ptoc-2.01/patches/patch-aa sed 's/^X//' >ptoc-2.01/patches/patch-aa << 'END-of-ptoc-2.01/patches/patch-aa' X--- makefile Tue Sep 2 08:49:02 1997 X+++ /home/andy/tmp/wrk/makefile Wed Dec 10 11:26:08 1997 X@@ -18,8 +18,8 @@ X # Chose compiler You prefere. X # X X-CC = gcc -O5 -g -Wall -c X-CFLAGS = X+CC = gcc X+CFLAGS+= -c X X DEFINES = X INCLUDES = -I. X@@ -31,7 +31,7 @@ X # Chose linker You prefere. X # X X-LD = gcc -static X+LD = gcc X #LD = cxx -non_shared X LDFLAGS = X END-of-ptoc-2.01/patches/patch-aa echo x - ptoc-2.01/patches/patch-ac sed 's/^X//' >ptoc-2.01/patches/patch-ac << 'END-of-ptoc-2.01/patches/patch-ac' X--- main.h Tue Aug 26 21:16:28 1997 X+++ /home/andy/tmp/wrk/main.h Mon Dec 8 17:58:12 1997 X@@ -31,7 +31,7 @@ X X #define CALL_GRAPH_FILE "call.grp" X #define RECURSIVE_PROC_FILE "recur.prc" X-#define CONFIG_FILE "ptoc.cfg" X+#define CONFIG_FILE "/usr/local/etc/ptoc.cfg" X X extern bool use_call_graph; X extern bool pio_init; END-of-ptoc-2.01/patches/patch-ac echo x - ptoc-2.01/patches/patch-ad sed 's/^X//' >ptoc-2.01/patches/patch-ad << 'END-of-ptoc-2.01/patches/patch-ad' X--- main.cxx Tue Aug 26 21:17:50 1997 X+++ /home/andy/tmp/wrk/main.cxx Tue Dec 9 06:54:16 1997 X@@ -268,7 +268,7 @@ X X compile_system_library = TRUE; X token::input(dprintf("%s%s", prog_path, X- turbo_pascal ? "tptoc.pas" : "ptoc.pas")); X+ turbo_pascal ? "/usr/local/share/ptoc/tptoc.pas" : "/usr/local/share/ptoc/ptoc.pas")); X zzparse(); X X compile_system_library = FALSE; END-of-ptoc-2.01/patches/patch-ad echo c - ptoc-2.01/pkg mkdir -p ptoc-2.01/pkg > /dev/null 2>&1 echo x - ptoc-2.01/pkg/PLIST sed 's/^X//' >ptoc-2.01/pkg/PLIST << 'END-of-ptoc-2.01/pkg/PLIST' Xbin/cganal Xbin/ptoc Xetc/ptoc.cfg Xinclude/ptoc/array.h Xinclude/ptoc/graph.h Xinclude/ptoc/io.h Xinclude/ptoc/paslib.h Xinclude/ptoc/ptoc.h Xinclude/ptoc/set.h Xlib/libptoc.a Xlib/libXbgi.a Xshare/doc/ptoc/README Xshare/doc/ptoc/paslib.doc Xshare/ptoc/ptoc.pas Xshare/ptoc/tptoc.pas Xshare/ptoc/graph.pas Xshare/examples/ptoc/Makefile Xshare/examples/ptoc/bgidemo.pas Xshare/examples/ptoc/coord.txt Xshare/examples/ptoc/hello.pas Xshare/examples/ptoc/impact.pas Xshare/examples/ptoc/lister.pas Xshare/examples/ptoc/polut2.pas Xshare/examples/ptoc/printer.pas Xshare/examples/ptoc/q2.txt Xshare/examples/ptoc/random.txt Xshare/examples/ptoc/rename.pas Xshare/examples/ptoc/set.pas Xshare/examples/ptoc/test.pas Xshare/examples/ptoc/tpascal.pas Xshare/examples/ptoc/trinor.pas Xshare/examples/ptoc/vibrkinp.pas Xshare/examples/ptoc/vibrkinp.txt Xshare/examples/ptoc/vibrtabl.pas Xshare/examples/ptoc/war2.pas Xshare/examples/ptoc/xy2orig.txt X@dirrm include/ptoc X@dirrm share/doc/ptoc X@dirrm share/examples/ptoc X@dirrm share/ptoc END-of-ptoc-2.01/pkg/PLIST echo x - ptoc-2.01/pkg/COMMENT sed 's/^X//' >ptoc-2.01/pkg/COMMENT << 'END-of-ptoc-2.01/pkg/COMMENT' XANSI/Turbo Pascal to C/C++ converter END-of-ptoc-2.01/pkg/COMMENT echo x - ptoc-2.01/pkg/DESCR sed 's/^X//' >ptoc-2.01/pkg/DESCR << 'END-of-ptoc-2.01/pkg/DESCR' XThis is yet another ANSI/Turbo Pascal to C/C++ converter together Xwith BGI graphics library emulation for X Window System. X XConverter recognizes Pascal dialects which are compatible with XTurbo Pascal 4.0/5.0 and ISO Pascal standard - IEC 7185:1990(E) X(including conformant arrays). Now it is tuned for Oregon Pascal-2 XV2.1 which has few extensions to standard Pascal. X XConverter can produce both C++ and C output. X XNow PTOC recognizes Turbo Pascal's extensions, such as units, Xstrings, some special types and operations. Turbo Pascal Xextensions are supported only for C++ language. X XAlso emulation libraries of Borland Graphics Interface (BGI) for XX Window System included in this distribution (BGI emulators can Xbe also used without converter for C programs using BGI). END-of-ptoc-2.01/pkg/DESCR exit >How-To-Repeat: >Fix: Please, check and commit this port. >Audit-Trail: >Unformatted: