From a5d951b54b4beeb9ba4d0fbdf624acab9cfd1009 Mon Sep 17 00:00:00 2001 From: Steve Price Date: Mon, 27 Sep 1999 03:01:09 +0000 Subject: Initial import of sdcc version 2.1.8. A tool for cross-compiling code for the 8051. PR: 13446 Submitted by: Doug Ambrisko --- devel/sdcc/Makefile | 21 ++++ devel/sdcc/distinfo | 1 + devel/sdcc/files/asxxxx.diff | 46 ++++++++ devel/sdcc/files/patch-aa | 51 +++++++++ devel/sdcc/files/patch-ab | 19 ++++ devel/sdcc/files/patch-ac | 19 ++++ devel/sdcc/files/patch-ad | 65 ++++++++++++ devel/sdcc/pkg-comment | 1 + devel/sdcc/pkg-descr | 9 ++ devel/sdcc/pkg-plist | 248 +++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 480 insertions(+) create mode 100644 devel/sdcc/Makefile create mode 100644 devel/sdcc/distinfo create mode 100644 devel/sdcc/files/asxxxx.diff create mode 100644 devel/sdcc/files/patch-aa create mode 100644 devel/sdcc/files/patch-ab create mode 100644 devel/sdcc/files/patch-ac create mode 100644 devel/sdcc/files/patch-ad create mode 100644 devel/sdcc/pkg-comment create mode 100644 devel/sdcc/pkg-descr create mode 100644 devel/sdcc/pkg-plist (limited to 'devel/sdcc') diff --git a/devel/sdcc/Makefile b/devel/sdcc/Makefile new file mode 100644 index 000000000000..4f6903343467 --- /dev/null +++ b/devel/sdcc/Makefile @@ -0,0 +1,21 @@ +# New ports collection makefile for: bcc +# Version required: "1995 Mar 12 10:29 UTC" +# Date created: 26 March 1995 +# Whom: joerg +# +# $Id: Makefile,v 1.7 1998/08/23 01:08:37 hoek Exp $ +# + +DISTNAME= sdcc-2.1.8Ma +PKGNAME= sdcc-2.1.8 +CATEGORIES= devel lang +MASTER_SITES= http://www.geocities.com/ResearchTriangle/Forum/1353/ + +MAINTAINER= ambrisko@whistle.com + +WRKSRC= ${WRKDIR}/sdcc218Ma +GNU_CONFIGURE= yes +USE_GMAKE= yes +ALL_TARGET= dep all + +.include diff --git a/devel/sdcc/distinfo b/devel/sdcc/distinfo new file mode 100644 index 000000000000..38dd6256a86c --- /dev/null +++ b/devel/sdcc/distinfo @@ -0,0 +1 @@ +MD5 (sdcc-2.1.8Ma.tar.gz) = 7a799014c9065c7fd3b2e32c5f4de019 diff --git a/devel/sdcc/files/asxxxx.diff b/devel/sdcc/files/asxxxx.diff new file mode 100644 index 000000000000..8b5348a98b9b --- /dev/null +++ b/devel/sdcc/files/asxxxx.diff @@ -0,0 +1,46 @@ +--- asxxxx/i51mch.c.orig Mon Jun 28 23:27:59 1999 ++++ asxxxx/i51mch.c Mon Jun 28 23:47:41 1999 +@@ -389,8 +389,8 @@ + v1 = -3; + else + v1 = e1.e_addr - dot.s_addr - 1; +- /* if ((v1 < -128) || (v1 > 127)) +- aerr(); */ ++ if (((v1 < -128) || (v1 > 127)) && pass > 0) ++ aerr(); + outab(v1); + } else { + outrb(&e1, R_PCR); +@@ -408,8 +408,8 @@ + v1 = -2; + else + v1 = e1.e_addr - dot.s_addr - 1; +- /* if ((v1 < -128) || (v1 > 127)) +- aerr();*/ ++ if (((v1 < -128) || (v1 > 127)) && pass > 0) ++ aerr(); + outab(v1); + } else { + outrb(&e1, R_PCR); +@@ -463,8 +463,8 @@ + v1 = -3; + else + v1 = e1.e_addr - dot.s_addr - 1; +- /* if ((v1 < -128) || (v1 > 127)) +- aerr(); */ ++ if (((v1 < -128) || (v1 > 127)) && pass > 0) ++ aerr(); + outab(v1); + } else { + outrb(&e1, R_PCR); +@@ -500,8 +500,8 @@ + v1 = -3; + else + v1 = e1.e_addr - dot.s_addr - 1; +- /* if ((v1 < -128) || (v1 > 127)) +- aerr(); */ ++ if (((v1 < -128) || (v1 > 127)) && pass > 0) ++ aerr(); + outab(v1); + } else { + outrb(&e1, R_PCR); diff --git a/devel/sdcc/files/patch-aa b/devel/sdcc/files/patch-aa new file mode 100644 index 000000000000..a6b3b410cf01 --- /dev/null +++ b/devel/sdcc/files/patch-aa @@ -0,0 +1,51 @@ +diff -c -r ../sdcc218Ma.orig/cpp/cpplib.c cpp/cpplib.c +*** ../sdcc218Ma.orig/cpp/cpplib.c Wed May 26 15:06:08 1999 +--- cpp/cpplib.c Wed Aug 25 12:51:57 1999 +*************** +*** 7452,7458 **** + #if defined(bsd4_4) + extern const char *const sys_errlist[]; + #else +! #if !defined(linux) + extern char *sys_errlist[]; + #endif + #endif +--- 7452,7458 ---- + #if defined(bsd4_4) + extern const char *const sys_errlist[]; + #else +! #if !defined(linux) && !defined(__FreeBSD__) + extern char *sys_errlist[]; + #endif + #endif +diff -c -r ../sdcc218Ma.orig/gc/mark.c gc/mark.c +*** ../sdcc218Ma.orig/gc/mark.c Mon Nov 16 04:59:54 1998 +--- gc/mark.c Wed Aug 25 12:44:35 1999 +*************** +*** 653,659 **** +--- 653,663 ---- + # ifdef MSWIN32 + void __cdecl GC_push_one(p) + # else ++ # if __FreeBSD__ ++ void _GC_push_one(p) ++ # else + void GC_push_one(p) ++ # endif + # endif + word p; + { +diff -c -r ../sdcc218Ma.orig/sdcc.src/SDCCicode.c sdcc.src/SDCCicode.c +diff -c -r ../sdcc218Ma.orig/sdcc.src/SDCCval.c sdcc.src/SDCCval.c +*** ../sdcc218Ma.orig/sdcc.src/SDCCval.c Thu Jul 1 13:07:16 1999 +--- sdcc.src/SDCCval.c Wed Aug 25 18:08:18 1999 +*************** +*** 290,296 **** + + /* if hex or octal then set the unsigned flag */ + if ( hex || octal ) { +- SPEC_USIGN(val->type) = 1 ; + sscanf(s,scanFmt,&sval); + } else + sval = atol(s); +--- 290,295 ---- diff --git a/devel/sdcc/files/patch-ab b/devel/sdcc/files/patch-ab new file mode 100644 index 000000000000..ea74f26293f3 --- /dev/null +++ b/devel/sdcc/files/patch-ab @@ -0,0 +1,19 @@ +*** configure.orig Thu May 27 14:51:34 1999 +--- configure Thu Aug 26 18:15:36 1999 +*************** +*** 1075,1081 **** + # ./install, which can be erroneously created by make from ./install.sh. + echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 + echo "configure:1078: checking for a BSD compatible install" >&5 +! if test -z "$INSTALL"; then + if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +--- 1075,1081 ---- + # ./install, which can be erroneously created by make from ./install.sh. + echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 + echo "configure:1078: checking for a BSD compatible install" >&5 +! if true; then + if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else diff --git a/devel/sdcc/files/patch-ac b/devel/sdcc/files/patch-ac new file mode 100644 index 000000000000..bcfd3c1d5d2d --- /dev/null +++ b/devel/sdcc/files/patch-ac @@ -0,0 +1,19 @@ +*** s51.src/configure.orig Thu Aug 26 18:13:19 1999 +--- s51.src/configure Thu Aug 26 18:13:49 1999 +*************** +*** 812,818 **** + # ./install, which can be erroneously created by make from ./install.sh. + echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 + echo "configure:815: checking for a BSD compatible install" >&5 +! if test -z "$INSTALL"; then + if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else +--- 812,818 ---- + # ./install, which can be erroneously created by make from ./install.sh. + echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 + echo "configure:815: checking for a BSD compatible install" >&5 +! if true ; then + if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 + else diff --git a/devel/sdcc/files/patch-ad b/devel/sdcc/files/patch-ad new file mode 100644 index 000000000000..824a1e6ba545 --- /dev/null +++ b/devel/sdcc/files/patch-ad @@ -0,0 +1,65 @@ +*** sdcc51lib/Makefile.in.orig Thu Aug 26 18:55:13 1999 +--- sdcc51lib/Makefile.in Thu Aug 26 18:57:01 1999 +*************** +*** 63,69 **** + + models: + for model in $(MODELS); do \ +! mkdir $$model; \ + $(MAKE) CFLAGS="$(CFLAGS) --model-$$model" objects; \ + mv *.rel $$model; \ + done +--- 63,69 ---- + + models: + for model in $(MODELS); do \ +! $(INSTALL) -d -m 755 $$model; \ + $(MAKE) CFLAGS="$(CFLAGS) --model-$$model" objects; \ + mv *.rel $$model; \ + done +*************** +*** 71,80 **** + # Compiling and installing everything and runing test + # --------------------------------------------------- + install: installdirs +! $(CP) *.c $(datadir)/sdcc51lib/ + for model in $(MODELS); do \ + [ -d $$model ] || $(MAKE) all; \ +! $(CP) $$model/*.rel *.lib $(datadir)/sdcc51lib/$$model/; \ + done + + +--- 71,80 ---- + # Compiling and installing everything and runing test + # --------------------------------------------------- + install: installdirs +! $(INSTALL) -c -m 644 *.c $(datadir)/sdcc51lib/ + for model in $(MODELS); do \ + [ -d $$model ] || $(MAKE) all; \ +! $(INSTALL) -c -m 644 $$model/*.rel *.lib $(datadir)/sdcc51lib/$$model/; \ + done + + +*************** +*** 100,109 **** + # Creating installation directories + # --------------------------------- + installdirs: +! [ -d $(datadir)/sdcc51lib ] || mkdir -p $(datadir)/sdcc51lib + for model in $(MODELS); do \ + [ -d $(datadir)/sdcc51lib/$$model ] || \ +! mkdir -p $(datadir)/sdcc51lib/$$model; \ + done + + +--- 100,109 ---- + # Creating installation directories + # --------------------------------- + installdirs: +! [ -d $(datadir)/sdcc51lib ] || $(INSTALL) -d -m 755 $(datadir)/sdcc51lib + for model in $(MODELS); do \ + [ -d $(datadir)/sdcc51lib/$$model ] || \ +! $(INSTALL) -d -m 755 $(datadir)/sdcc51lib/$$model; \ + done + + diff --git a/devel/sdcc/pkg-comment b/devel/sdcc/pkg-comment new file mode 100644 index 000000000000..28d7fbd2aaf9 --- /dev/null +++ b/devel/sdcc/pkg-comment @@ -0,0 +1 @@ +Cross compile 8051 code diff --git a/devel/sdcc/pkg-descr b/devel/sdcc/pkg-descr new file mode 100644 index 000000000000..a441fed4b0df --- /dev/null +++ b/devel/sdcc/pkg-descr @@ -0,0 +1,9 @@ +SDCC is a Free ware , retargettable, optimizing ANSI-C compiler. The current +version targets Intel 8051 based MCUs, it can be retargetted for other 8 bit +MCUs or PICs. The entire source code for the compiler is distributed under +GPL. SDCC used ASXXXX & ASLINK a Free ware, retargettable assembler & linker. + +HTML docs are in work/*/doc. + +Note I added a patch from sailer@ife.ee.ethz.ch "asxxxx.diff" for making +firmware for the Anchor EZUSB chips. diff --git a/devel/sdcc/pkg-plist b/devel/sdcc/pkg-plist new file mode 100644 index 000000000000..8bb7d05ce77f --- /dev/null +++ b/devel/sdcc/pkg-plist @@ -0,0 +1,248 @@ +bin/sdcc +bin/sdcpp +bin/asx8051 +bin/aslink +bin/sdcdb +bin/sdcdb.el +bin/sdcdbsrc.el +bin/s51 +bin/savr +share/sdcc51lib/small/_atoi.rel +share/sdcc51lib/small/_atol.rel +share/sdcc51lib/small/_autobaud.rel +share/sdcc51lib/small/_bp.rel +share/sdcc51lib/small/_char2fs.rel +share/sdcc51lib/small/_decdptr.rel +share/sdcc51lib/small/_divsint.rel +share/sdcc51lib/small/_divslong.rel +share/sdcc51lib/small/_divuint.rel +share/sdcc51lib/small/_divulong.rel +share/sdcc51lib/small/_fs2char.rel +share/sdcc51lib/small/_fs2int.rel +share/sdcc51lib/small/_fs2long.rel +share/sdcc51lib/small/_fs2uchar.rel +share/sdcc51lib/small/_fs2uint.rel +share/sdcc51lib/small/_fs2ulong.rel +share/sdcc51lib/small/_fsadd.rel +share/sdcc51lib/small/_fsdiv.rel +share/sdcc51lib/small/_fseq.rel +share/sdcc51lib/small/_fsgt.rel +share/sdcc51lib/small/_fslt.rel +share/sdcc51lib/small/_fsmul.rel +share/sdcc51lib/small/_fsneq.rel +share/sdcc51lib/small/_fssub.rel +share/sdcc51lib/small/_gptrget.rel +share/sdcc51lib/small/_gptrput.rel +share/sdcc51lib/small/_int2fs.rel +share/sdcc51lib/small/_iscntrl.rel +share/sdcc51lib/small/_isdigit.rel +share/sdcc51lib/small/_isgraph.rel +share/sdcc51lib/small/_islower.rel +share/sdcc51lib/small/_isprint.rel +share/sdcc51lib/small/_ispunct.rel +share/sdcc51lib/small/_isspace.rel +share/sdcc51lib/small/_isupper.rel +share/sdcc51lib/small/_isxdigit.rel +share/sdcc51lib/small/_long2fs.rel +share/sdcc51lib/small/_memcmp.rel +share/sdcc51lib/small/_memcpy.rel +share/sdcc51lib/small/_memset.rel +share/sdcc51lib/small/_modsint.rel +share/sdcc51lib/small/_modslong.rel +share/sdcc51lib/small/_moduint.rel +share/sdcc51lib/small/_modulong.rel +share/sdcc51lib/small/_mulsint.rel +share/sdcc51lib/small/_muluint.rel +share/sdcc51lib/small/_mululong.rel +share/sdcc51lib/small/_muslong.rel +share/sdcc51lib/small/_ser.rel +share/sdcc51lib/small/_setjmp.rel +share/sdcc51lib/small/_spx.rel +share/sdcc51lib/small/_startup.rel +share/sdcc51lib/small/_strcat.rel +share/sdcc51lib/small/_strchr.rel +share/sdcc51lib/small/_strcmp.rel +share/sdcc51lib/small/_strcpy.rel +share/sdcc51lib/small/_strcspn.rel +share/sdcc51lib/small/_strlen.rel +share/sdcc51lib/small/_strncat.rel +share/sdcc51lib/small/_strncmp.rel +share/sdcc51lib/small/_strncpy.rel +share/sdcc51lib/small/_strpbrk.rel +share/sdcc51lib/small/_strrchr.rel +share/sdcc51lib/small/_strspn.rel +share/sdcc51lib/small/_strstr.rel +share/sdcc51lib/small/_strtok.rel +share/sdcc51lib/small/_uchar2fs.rel +share/sdcc51lib/small/_uint2fs.rel +share/sdcc51lib/small/_ulong2fs.rel +share/sdcc51lib/small/assert.rel +share/sdcc51lib/small/malloc.rel +share/sdcc51lib/small/printf_large.rel +share/sdcc51lib/small/printfl.rel +share/sdcc51lib/small/puts.rel +share/sdcc51lib/small/ser_ir.rel +share/sdcc51lib/small/serial.rel +share/sdcc51lib/small/vprintf.rel +share/sdcc51lib/small/libfloat.lib +share/sdcc51lib/small/libint.lib +share/sdcc51lib/small/liblong.lib +share/sdcc51lib/small/libsdcc.lib +share/sdcc51lib/large/_atoi.rel +share/sdcc51lib/large/_atol.rel +share/sdcc51lib/large/_autobaud.rel +share/sdcc51lib/large/_bp.rel +share/sdcc51lib/large/_char2fs.rel +share/sdcc51lib/large/_decdptr.rel +share/sdcc51lib/large/_divsint.rel +share/sdcc51lib/large/_divslong.rel +share/sdcc51lib/large/_divuint.rel +share/sdcc51lib/large/_divulong.rel +share/sdcc51lib/large/_fs2char.rel +share/sdcc51lib/large/_fs2int.rel +share/sdcc51lib/large/_fs2long.rel +share/sdcc51lib/large/_fs2uchar.rel +share/sdcc51lib/large/_fs2uint.rel +share/sdcc51lib/large/_fs2ulong.rel +share/sdcc51lib/large/_fsadd.rel +share/sdcc51lib/large/_fsdiv.rel +share/sdcc51lib/large/_fseq.rel +share/sdcc51lib/large/_fsgt.rel +share/sdcc51lib/large/_fslt.rel +share/sdcc51lib/large/_fsmul.rel +share/sdcc51lib/large/_fsneq.rel +share/sdcc51lib/large/_fssub.rel +share/sdcc51lib/large/_gptrget.rel +share/sdcc51lib/large/_gptrput.rel +share/sdcc51lib/large/_int2fs.rel +share/sdcc51lib/large/_iscntrl.rel +share/sdcc51lib/large/_isdigit.rel +share/sdcc51lib/large/_isgraph.rel +share/sdcc51lib/large/_islower.rel +share/sdcc51lib/large/_isprint.rel +share/sdcc51lib/large/_ispunct.rel +share/sdcc51lib/large/_isspace.rel +share/sdcc51lib/large/_isupper.rel +share/sdcc51lib/large/_isxdigit.rel +share/sdcc51lib/large/_long2fs.rel +share/sdcc51lib/large/_memcmp.rel +share/sdcc51lib/large/_memcpy.rel +share/sdcc51lib/large/_memset.rel +share/sdcc51lib/large/_modsint.rel +share/sdcc51lib/large/_modslong.rel +share/sdcc51lib/large/_moduint.rel +share/sdcc51lib/large/_modulong.rel +share/sdcc51lib/large/_mulsint.rel +share/sdcc51lib/large/_muluint.rel +share/sdcc51lib/large/_mululong.rel +share/sdcc51lib/large/_muslong.rel +share/sdcc51lib/large/_ser.rel +share/sdcc51lib/large/_setjmp.rel +share/sdcc51lib/large/_spx.rel +share/sdcc51lib/large/_startup.rel +share/sdcc51lib/large/_strcat.rel +share/sdcc51lib/large/_strchr.rel +share/sdcc51lib/large/_strcmp.rel +share/sdcc51lib/large/_strcpy.rel +share/sdcc51lib/large/_strcspn.rel +share/sdcc51lib/large/_strlen.rel +share/sdcc51lib/large/_strncat.rel +share/sdcc51lib/large/_strncmp.rel +share/sdcc51lib/large/_strncpy.rel +share/sdcc51lib/large/_strpbrk.rel +share/sdcc51lib/large/_strrchr.rel +share/sdcc51lib/large/_strspn.rel +share/sdcc51lib/large/_strstr.rel +share/sdcc51lib/large/_strtok.rel +share/sdcc51lib/large/_uchar2fs.rel +share/sdcc51lib/large/_uint2fs.rel +share/sdcc51lib/large/_ulong2fs.rel +share/sdcc51lib/large/assert.rel +share/sdcc51lib/large/malloc.rel +share/sdcc51lib/large/printf_large.rel +share/sdcc51lib/large/printfl.rel +share/sdcc51lib/large/puts.rel +share/sdcc51lib/large/ser_ir.rel +share/sdcc51lib/large/serial.rel +share/sdcc51lib/large/vprintf.rel +share/sdcc51lib/large/libfloat.lib +share/sdcc51lib/large/libint.lib +share/sdcc51lib/large/liblong.lib +share/sdcc51lib/large/libsdcc.lib +share/sdcc51lib/_atoi.c +share/sdcc51lib/_atol.c +share/sdcc51lib/_autobaud.c +share/sdcc51lib/_bp.c +share/sdcc51lib/_char2fs.c +share/sdcc51lib/_decdptr.c +share/sdcc51lib/_divsint.c +share/sdcc51lib/_divslong.c +share/sdcc51lib/_divuint.c +share/sdcc51lib/_divulong.c +share/sdcc51lib/_fs2char.c +share/sdcc51lib/_fs2int.c +share/sdcc51lib/_fs2long.c +share/sdcc51lib/_fs2uchar.c +share/sdcc51lib/_fs2uint.c +share/sdcc51lib/_fs2ulong.c +share/sdcc51lib/_fsadd.c +share/sdcc51lib/_fsdiv.c +share/sdcc51lib/_fseq.c +share/sdcc51lib/_fsgt.c +share/sdcc51lib/_fslt.c +share/sdcc51lib/_fsmul.c +share/sdcc51lib/_fsneq.c +share/sdcc51lib/_fssub.c +share/sdcc51lib/_gptrget.c +share/sdcc51lib/_gptrput.c +share/sdcc51lib/_int2fs.c +share/sdcc51lib/_iscntrl.c +share/sdcc51lib/_isdigit.c +share/sdcc51lib/_isgraph.c +share/sdcc51lib/_islower.c +share/sdcc51lib/_isprint.c +share/sdcc51lib/_ispunct.c +share/sdcc51lib/_isspace.c +share/sdcc51lib/_isupper.c +share/sdcc51lib/_isxdigit.c +share/sdcc51lib/_long2fs.c +share/sdcc51lib/_memcmp.c +share/sdcc51lib/_memcpy.c +share/sdcc51lib/_memset.c +share/sdcc51lib/_modsint.c +share/sdcc51lib/_modslong.c +share/sdcc51lib/_moduint.c +share/sdcc51lib/_modulong.c +share/sdcc51lib/_mulsint.c +share/sdcc51lib/_muluint.c +share/sdcc51lib/_mululong.c +share/sdcc51lib/_muslong.c +share/sdcc51lib/_ser.c +share/sdcc51lib/_spx.c +share/sdcc51lib/_setjmp.c +share/sdcc51lib/_startup.c +share/sdcc51lib/_strcat.c +share/sdcc51lib/_strchr.c +share/sdcc51lib/_strcmp.c +share/sdcc51lib/_strcpy.c +share/sdcc51lib/_strcspn.c +share/sdcc51lib/_strlen.c +share/sdcc51lib/_strncat.c +share/sdcc51lib/_strncmp.c +share/sdcc51lib/_strncpy.c +share/sdcc51lib/_strpbrk.c +share/sdcc51lib/_strrchr.c +share/sdcc51lib/_strspn.c +share/sdcc51lib/_strstr.c +share/sdcc51lib/_strtok.c +share/sdcc51lib/_uchar2fs.c +share/sdcc51lib/_uint2fs.c +share/sdcc51lib/_ulong2fs.c +share/sdcc51lib/assert.c +share/sdcc51lib/malloc.c +share/sdcc51lib/printf_large.c +share/sdcc51lib/printfl.c +share/sdcc51lib/puts.c +share/sdcc51lib/ser_ir.c +share/sdcc51lib/serial.c +share/sdcc51lib/vprintf.c -- cgit v1.2.3