From 9f2c51a9f9b6debda3334d8470c2e1e587f1ccfd Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 15 Jan 2017 20:51:41 +0100 Subject: [PATCH] SDCC: update to latest release - Perform an out of source build - Fix some build issues - This version builds with an up to date GCC host --- dev-embedded/sdcc/patches/sdcc-3.4.0.patchset | 194 ---------- ...dcc-3.5.0.patchset => sdcc-3.6.0.patchset} | 331 +++++++++++++++++- dev-embedded/sdcc/sdcc-3.4.0.recipe | 88 ----- .../{sdcc-3.5.0.recipe => sdcc-3.6.0.recipe} | 18 +- 4 files changed, 332 insertions(+), 299 deletions(-) delete mode 100644 dev-embedded/sdcc/patches/sdcc-3.4.0.patchset rename dev-embedded/sdcc/patches/{sdcc-3.5.0.patchset => sdcc-3.6.0.patchset} (60%) delete mode 100644 dev-embedded/sdcc/sdcc-3.4.0.recipe rename dev-embedded/sdcc/{sdcc-3.5.0.recipe => sdcc-3.6.0.recipe} (83%) diff --git a/dev-embedded/sdcc/patches/sdcc-3.4.0.patchset b/dev-embedded/sdcc/patches/sdcc-3.4.0.patchset deleted file mode 100644 index df8acb21a..000000000 --- a/dev-embedded/sdcc/patches/sdcc-3.4.0.patchset +++ /dev/null @@ -1,194 +0,0 @@ -From 8dabca703681d397595e7076c19f07f523104f69 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 14 Sep 2014 12:25:39 +0200 -Subject: let sdbinutils know about Haiku. - - -diff --git a/support/sdbinutils/bfd/config.bfd b/support/sdbinutils/bfd/config.bfd -index a812403..31363e2 100644 ---- a/support/sdbinutils/bfd/config.bfd -+++ b/support/sdbinutils/bfd/config.bfd -@@ -693,6 +693,9 @@ case "${targ}" in - targ_defvec=bfd_elf32_i386_vec - targ_selvecs="i386pe_vec i386pei_vec" - ;; -+ i[3-7]86-*-haiku*) -+ targ_defvec=bfd_elf32_i386_vec -+ ;; - i[3-7]86-*-interix*) - targ_defvec=i386pei_vec - targ_selvecs="i386pe_vec" --- -1.8.3.4 - - -From 850a29c40087948fdf36dc80b30a8870fc6858c3 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 14 Sep 2014 12:26:14 +0200 -Subject: Missing include. - - -diff --git a/sim/ucsim/cmd.src/newcmdposixcl.h b/sim/ucsim/cmd.src/newcmdposixcl.h -index 5050d2f..ef3ed70 100644 ---- a/sim/ucsim/cmd.src/newcmdposixcl.h -+++ b/sim/ucsim/cmd.src/newcmdposixcl.h -@@ -32,6 +32,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA - #include "newcmdcl.h" - #include "cmdutil.h" - -+#include - - /* - * Command fd console --- -1.8.3.4 - - -From 8f059ca65eac475ce5c80852a6f6a4b499f80b06 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 14 Sep 2014 12:59:31 +0200 -Subject: strings.h fix. - - -diff --git a/sim/ucsim/pobj.cc b/sim/ucsim/pobj.cc -index e809980..166d8b1 100644 ---- a/sim/ucsim/pobj.cc -+++ b/sim/ucsim/pobj.cc -@@ -29,6 +29,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA - - #include - #include -+#include - - #include "pstr.h" - /*#include "pobjt.h"*/ --- -1.8.3.4 - - -From d35e5495bb9e7ebf00de26030fe91fe302b80700 Mon Sep 17 00:00:00 2001 -From: Adrien Destugues -Date: Sun, 14 Sep 2014 12:59:16 +0200 -Subject: Remove hardcoded -lm - - -diff --git a/sdas/as6808/Makefile.in b/sdas/as6808/Makefile.in -index 04cf34f..dfac987 100644 ---- a/sdas/as6808/Makefile.in -+++ b/sdas/as6808/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/as8051/Makefile.in b/sdas/as8051/Makefile.in -index e2d092a..3d92634 100644 ---- a/sdas/as8051/Makefile.in -+++ b/sdas/as8051/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/as8xcxxx/Makefile.in b/sdas/as8xcxxx/Makefile.in -index 9ba2572..7e6f9ce 100644 ---- a/sdas/as8xcxxx/Makefile.in -+++ b/sdas/as8xcxxx/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/asgb/Makefile.in b/sdas/asgb/Makefile.in -index e15d878..af34749 100644 ---- a/sdas/asgb/Makefile.in -+++ b/sdas/asgb/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/asrab/Makefile.in b/sdas/asrab/Makefile.in -index 2518544..10ecc85 100644 ---- a/sdas/asrab/Makefile.in -+++ b/sdas/asrab/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/asstm8/Makefile.in b/sdas/asstm8/Makefile.in -index ef2accb..06b0c48 100755 ---- a/sdas/asstm8/Makefile.in -+++ b/sdas/asstm8/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/astlcs90/Makefile.in b/sdas/astlcs90/Makefile.in -index 8c299c4..dba0454 100644 ---- a/sdas/astlcs90/Makefile.in -+++ b/sdas/astlcs90/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/sdas/asz80/Makefile.in b/sdas/asz80/Makefile.in -index 5de4cc8..f4bf6d2 100644 ---- a/sdas/asz80/Makefile.in -+++ b/sdas/asz80/Makefile.in -@@ -37,7 +37,7 @@ VPATH = @srcdir@ - CPPFLAGS = @CPPFLAGS@ -DSDCDB -DNOICE -DINDEXLIB -I. -I$(srcdir) -I$(srcdir)/../asxxsrc -I$(srcdir)/../../support/util - CFLAGS = @CFLAGS@ @WALL_FLAG@ $(CPPFLAGS) - LDFLAGS = @LDFLAGS@ --LIBS = -lm -+LIBS = - - OBJDIR = obj - -diff --git a/src/Makefile.in b/src/Makefile.in -index 5f18ab6..782f5be 100644 ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -15,7 +15,7 @@ PORTS = $(shell cat ../ports.build) - ALLPORTS = $(shell cat ../ports.all) - PORT_LIBS = $(PORTS:%=%/port.a) - --LIBS = -lm @LIBS@ -+LIBS = @LIBS@ - - CFLAGS = @CFLAGS@ @WALL_FLAG@ - CXXFLAGS = @CXXFLAGS@ @WALL_FLAG@ --- -1.8.3.4 - diff --git a/dev-embedded/sdcc/patches/sdcc-3.5.0.patchset b/dev-embedded/sdcc/patches/sdcc-3.6.0.patchset similarity index 60% rename from dev-embedded/sdcc/patches/sdcc-3.5.0.patchset rename to dev-embedded/sdcc/patches/sdcc-3.6.0.patchset index cc9b87243..458312e8d 100644 --- a/dev-embedded/sdcc/patches/sdcc-3.5.0.patchset +++ b/dev-embedded/sdcc/patches/sdcc-3.6.0.patchset @@ -1,28 +1,28 @@ -From 1bd79b2e8b02c9147ee3fcbeae69ece7e7070687 Mon Sep 17 00:00:00 2001 +From a95501e57f35c71394748a6656e52581ab2a4932 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 14 Sep 2014 12:25:39 +0200 Subject: let sdbinutils know about Haiku. diff --git a/support/sdbinutils/bfd/config.bfd b/support/sdbinutils/bfd/config.bfd -index ee1d39d..386faab 100644 +index a1a8311..2e2f99d 100644 --- a/support/sdbinutils/bfd/config.bfd +++ b/support/sdbinutils/bfd/config.bfd -@@ -693,6 +693,9 @@ case "${targ}" in - targ_defvec=bfd_elf32_i386_vec - targ_selvecs="i386pe_vec i386pei_vec" +@@ -725,6 +725,9 @@ case "${targ}" in + targ_defvec=i386_elf32_vec + targ_selvecs="i386_pe_vec i386_pei_vec" ;; + i[3-7]86-*-haiku*) -+ targ_defvec=bfd_elf32_i386_vec ++ targ_defvec=i386_elf32_vec + ;; i[3-7]86-*-interix*) - targ_defvec=i386pei_vec - targ_selvecs="i386pe_vec" + targ_defvec=i386_pei_vec + targ_selvecs="i386_pe_vec" -- 2.7.0 -From 1109aa92552ca00f54c3e9a980562f3a789104bc Mon Sep 17 00:00:00 2001 +From 33d4dfa0af15f64b9ef9313f53fd1594907814e7 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 14 Sep 2014 12:26:14 +0200 Subject: Missing include. @@ -44,7 +44,7 @@ index 5050d2f..ef3ed70 100644 2.7.0 -From c7067504f4e06e5905f253ac6597f611794ab8e9 Mon Sep 17 00:00:00 2001 +From 75bb84c28fb9bcee9236d5490112e5a5a0edb3be Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 14 Sep 2014 12:59:31 +0200 Subject: strings.h fix. @@ -66,7 +66,7 @@ index e809980..166d8b1 100644 2.7.0 -From 93c2311eb84b19e333946332959d4fbf6bc7a975 Mon Sep 17 00:00:00 2001 +From aa034f022a15f189c4d20c36578e8423b77ba5ea Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 14 Sep 2014 12:59:16 +0200 Subject: Remove hardcoded -lm @@ -193,7 +193,7 @@ index fc22c22..ebf63f1 100644 2.7.0 -From aef811431a7cf3d20e26da1302c5fbfc6d6dd1a0 Mon Sep 17 00:00:00 2001 +From f28f97241c95b6434d9a326d8349f25cd16bebfb Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 22 Jan 2016 21:01:19 +0100 Subject: Import Kevin Thacker patch for runtime relocation support. @@ -240,7 +240,7 @@ index bb83900..bfaa197 100644 int jflag; /* NoICE output flag */ diff --git a/sdas/linksrc/lkmain.c b/sdas/linksrc/lkmain.c -index f68e8f9..bd426dd 100644 +index 1cc7a45..9d6f916 100644 --- a/sdas/linksrc/lkmain.c +++ b/sdas/linksrc/lkmain.c @@ -233,6 +233,7 @@ main(int argc, char *argv[]) @@ -394,6 +394,311 @@ index cf184f2..6f11cdc 100644 if (oflag != 0) { lkflush(); lkfclose(); +diff --git a/sdas/linksrc/lkrrel.c b/sdas/linksrc/lkrrel.c +new file mode 100644 +index 0000000..e9e8383 +--- /dev/null ++++ b/sdas/linksrc/lkrrel.c +@@ -0,0 +1,251 @@ ++/* (c) Kevin Thacker, May 2005 */ ++#include ++#include ++#include ++#include "aslink.h" ++#include "lkrrel.h" ++ ++struct relrechead ++{ ++ int count; ++ struct relrec *head; ++}; ++ ++/* 16-bit values, add full 16-bit base address */ ++ ++static struct relrechead head16= {0,NULL}; ++/* 8-bit, but add high byte of 16-bit base address */ ++static struct relrechead head8hi = {0,NULL}; ++/* 8-bit, but add low byte of 16-bit base address */ ++static struct relrechead head8lo = {0,NULL}; ++ ++/* internal; free's list */ ++static void relrecfree(struct relrechead *head) ++{ ++ struct relrec *cur = head->head; ++ ++ while (cur!=NULL) ++ { ++ struct relrec *next = cur->next; ++ free(cur); ++ ++ cur = next; ++ } ++} ++ ++/* free relocation record list; e.g. on exit */ ++void freerelrec() ++{ ++ relrecfree(&head16); ++ relrecfree(&head8hi); ++ relrecfree(&head8lo); ++} ++ ++/* internal; allocate a relocation record */ ++static void newrelrec(struct relrechead *head, a_uint addr, a_uint symaddr) ++{ ++ struct relrec *rec; ++ ++ rec = (struct relrec *) malloc(sizeof(struct relrec)); ++ ++ /* error if allocation failed */ ++ if (rec==NULL) ++ return; ++ ++ rec->addr = addr; ++ rec->symaddr = symaddr; ++ ++ /* add to start of list */ ++ rec->next = head->head; ++ head->head = rec; ++ head->count++; ++} ++ ++/* add item to 16-bit relocation record list */ ++void relrec16(a_uint addr) ++{ ++ newrelrec(&head16, addr,0); ++} ++ ++/* add item to 8-bit (high) relocation record list */ ++void relrec8hi(a_uint addr, a_uint symaddr) ++{ ++ newrelrec(&head8hi, addr,symaddr); ++} ++ ++/* add address to 8-bit (low) relocation list */ ++void relrec8lo(a_uint addr, a_uint symaddr) ++{ ++ newrelrec(&head8lo, addr,symaddr); ++} ++ ++/* internal; compare two addresses within two relocate records */ ++static int relreccompare(const void *a, const void *b) ++{ ++ const struct relrec *relreca = (const struct relrec *)a; ++ const struct relrec *relrecb = (const struct relrec *)b; ++ ++ return (relreca->addr-relrecb->addr); ++} ++ ++/* sort a list of relocate records and return an array of the records */ ++static struct relrec *relrecsort(struct relrechead *head) ++{ ++ int count; ++ struct relrec *reclist; ++ struct relrec *cur; ++ ++ if (head->count==0) ++ return NULL; ++ ++ /* allocate list to hold all items */ ++ reclist = (struct relrec *)malloc(sizeof(struct relrec)*head->count); ++ ++ if (reclist==NULL) ++ return NULL; ++ ++ /* fill list */ ++ count = 0; ++ cur = head->head; ++ while (cur!=NULL) ++ { ++ memcpy(&reclist[count],cur,sizeof(struct relrec)); ++ count++; ++ cur = cur->next; ++ } ++ ++ /* sort into ascending address order */ ++ qsort(reclist, count, sizeof(struct relrec),relreccompare); ++ ++ return reclist; ++} ++ ++int outbyte(int addr, char byte) ++{ ++ rtval[0] = addr&0x0ff; ++ rtval[1] = (addr>>8)&0x0ff; ++ rtval[2] = byte&0x0ff; ++ addr+=1; ++ rtflg[0] = 1; ++ rtflg[1] = 1; ++ rtflg[2] = 1; ++ rtcnt = 3; ++ ixx(1); ++ return addr; ++} ++ ++void relrecwritelist1(struct relrechead *list,int *addrptr) ++{ ++ int i; ++ struct relrec *relreclist; ++ int addr; ++ ++ addr = *addrptr; ++ ++ relreclist = relrecsort(list); ++ ++ if (relreclist!=NULL) ++ { ++ int prevaddr = 0; ++ for (i=0; icount; i++) ++ { ++ struct relrec *cur = &relreclist[i]; ++ ++ int delta = cur->addr-prevaddr; ++ ++ if (delta>254) ++ { ++ int largedelta = delta-1; ++ addr = outbyte(addr,0x0ff); ++ addr = outbyte(addr,largedelta&0x0ff); ++ addr = outbyte(addr,(largedelta>>8)&0x0ff); ++ delta = 1; ++ } ++ prevaddr = cur->addr; ++ addr = outbyte(addr,delta&0x0ff); ++ } ++ ++ free(relreclist); ++ } ++ ++ addr = outbyte(addr, 0); ++ ++ *addrptr = addr; ++ ++} ++ ++void relrecwritelist2(struct relrechead *list,int *addrptr) ++{ ++ int i; ++ struct relrec *relreclist; ++ int addr; ++ ++ addr = *addrptr; ++ ++ relreclist = relrecsort(list); ++ ++ if (relreclist!=NULL) ++ { ++ int prevaddr = 0; ++ for (i=0; icount; i++) ++ { ++ struct relrec *cur = &relreclist[i]; ++ int delta = cur->addr-prevaddr; ++ prevaddr = cur->addr; ++ ++ if (delta>254) ++ { ++ int largedelta = delta-1; ++ addr = outbyte(addr,0x0ff); ++ addr = outbyte(addr,largedelta&0x0ff); ++ addr = outbyte(addr,(largedelta>>8)&0x0ff); ++ delta = 1; ++ } ++ ++ addr = outbyte(addr,delta&0x0ff); ++ addr = outbyte(addr,cur->symaddr&0x0ff); ++ } ++ ++ free(relreclist); ++ } ++ ++ addr = outbyte(addr,0); ++ ++ *addrptr = addr; ++ ++} ++ ++ ++void relrecwrite() ++{ ++ int areasize = 0; ++ ++ struct area *cur = areap; ++ while (cur!=NULL) ++ { ++ areasize+=cur->a_size; ++ cur=cur->a_ap; ++ } ++ ++ //printf("total length before relocation records: %04x\n",areasize); ++ ++ /* re-write offset to relocation records */ ++ rtval[0] = 0; ++ rtval[1] = 0; ++ rtval[2] = areasize&0x0ff; ++ rtval[3] = (areasize>>8)&0x0ff; ++ rtflg[0] = 1; ++ rtflg[1] = 1; ++ rtflg[2] = 1; ++ rtflg[3] = 1; ++ rtcnt = 4; ++ ixx(1); ++ ++ ++ int addr = areasize; ++ ++ ++ relrecwritelist1(&head16,&addr); ++ relrecwritelist1(&head8lo,&addr); ++ relrecwritelist2(&head8hi,&addr); ++} +diff --git a/sdas/linksrc/lkrrel.h b/sdas/linksrc/lkrrel.h +new file mode 100644 +index 0000000..ca1cfd4 +--- /dev/null ++++ b/sdas/linksrc/lkrrel.h +@@ -0,0 +1,17 @@ ++/* relocation record */ ++struct relrec ++{ ++ /* next item */ ++ struct relrec *next; ++ ++ /* address of relocate */ ++ a_uint addr; ++ ++ a_uint symaddr; ++}; ++ ++void relrec16(a_uint addr); ++void relrec8lo(a_uint addr, a_uint symaddr); ++void relrec8hi(a_uint addr, a_uint symaddr); ++void freerelrec(); ++void relrecwrite(); +-- +2.7.0 + + +From b56f61aea4312e943ecf79e65846f55f4a83827e Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Sun, 15 Jan 2017 20:50:32 +0100 +Subject: sdcpp: add missing include path + +This prevents the configure script from detecting some things, and later +on the build fails. + +diff --git a/support/cpp/configure.ac b/support/cpp/configure.ac +index cbf4e07..34435cb 100644 +--- a/support/cpp/configure.ac ++++ b/support/cpp/configure.ac +@@ -217,7 +217,7 @@ AC_FUNC_MMAP_FILE + + # We will need to find libiberty.h and ansidecl.h + saved_CFLAGS="$CFLAGS" +-CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/libiberty -I${srcdir}/libcpp/include" ++CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../libiberty -I${srcdir}/libcpp/include -I${srcdir}/../sdbinutils/include" + gcc_AC_CHECK_DECLS(getenv abort strsignal errno \ + malloc realloc calloc free clock, , ,[ + #include "ansidecl.h" -- 2.7.0 diff --git a/dev-embedded/sdcc/sdcc-3.4.0.recipe b/dev-embedded/sdcc/sdcc-3.4.0.recipe deleted file mode 100644 index aefa4bb03..000000000 --- a/dev-embedded/sdcc/sdcc-3.4.0.recipe +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY="A retargettable, optimizing ANSI - C compiler suite" -DESCRIPTION=" -SDCC is a retargettable, optimizing ANSI - C compiler suite that targets the \ -Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim \ -(formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based \ -(hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit \ -3000A, TLCS-90) and STMicroelectronics STM8. Work is in progress on supporting \ -the Microchip PIC16 and PIC18 targets. It can be retargeted for other \ -microprocessors." -HOMEPAGE="http://sdcc.sourceforge.net" -COPYRIGHT="1999-2013 Sandeep Dutta" -LICENSE="GNU GPL v2" -REVISION="1" -SOURCE_URI="http://sourceforge.net/projects/sdcc/files/sdcc/3.4.0/sdcc-src-3.4.0.tar.bz2" -CHECKSUM_SHA256="cf6af862b94d5f259f11afa0a1b86304f3047b3723a9df96f20dba869deb5bf9" -PATCHES="sdcc-$portVersion.patchset" - -ARCHITECTURES="!x86_gcc2 x86 x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - sdcc$secondaryArchSuffix = $portVersion - cmd:sdcc$secondaryArchSuffix = $portVersion - cmd:as2gbmap$secondaryArchSuffix - cmd:makebin$secondaryArchSuffix - cmd:packihx$secondaryArchSuffix - cmd:s51$secondaryArchSuffix - cmd:savr$secondaryArchSuffix - cmd:sdar$secondaryArchSuffix - cmd:sdas390$secondaryArchSuffix - cmd:sdas6808$secondaryArchSuffix - cmd:sdas8051$secondaryArchSuffix - cmd:sdasgb$secondaryArchSuffix - cmd:sdasrab$secondaryArchSuffix - cmd:sdasstm8$secondaryArchSuffix - cmd:sdastlcs90$secondaryArchSuffix - cmd:sdasz80$secondaryArchSuffix - cmd:sdcclib$secondaryArchSuffix - cmd:sdcdb$secondaryArchSuffix - cmd:sdcdb.el$secondaryArchSuffix - cmd:sdcdbsrc.el$secondaryArchSuffix - cmd:sdcpp$secondaryArchSuffix - cmd:sdld$secondaryArchSuffix - cmd:sdld6808$secondaryArchSuffix - cmd:sdldgb$secondaryArchSuffix - cmd:sdldz80$secondaryArchSuffix - cmd:sdnm$secondaryArchSuffix - cmd:sdobjcopy$secondaryArchSuffix - cmd:sdranlib$secondaryArchSuffix - cmd:shc08$secondaryArchSuffix - cmd:sst7$secondaryArchSuffix - cmd:sstm8$secondaryArchSuffix - cmd:sz80$secondaryArchSuffix - devel:libiberty$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - " - -BUILD_REQUIRES=" - devel:libboost_graph$secondaryArchSuffix - devel:libiconv$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:automake - cmd:autoconf - cmd:bison - cmd:flex - cmd:make - " - -BUILD() -{ - # The PIC14/16 ports need gputils. Enable them when we have a recipe for it. - CFLAGS="-DO_ASYNC=0" \ - runConfigure ./configure --disable-pic14-port --disable-pic16-port - make $jobArgs -} - -INSTALL() -{ - make install - - prepareInstalledDevelLib libiberty -} diff --git a/dev-embedded/sdcc/sdcc-3.5.0.recipe b/dev-embedded/sdcc/sdcc-3.6.0.recipe similarity index 83% rename from dev-embedded/sdcc/sdcc-3.5.0.recipe rename to dev-embedded/sdcc/sdcc-3.6.0.recipe index 8d2820830..017974dda 100644 --- a/dev-embedded/sdcc/sdcc-3.5.0.recipe +++ b/dev-embedded/sdcc/sdcc-3.6.0.recipe @@ -7,12 +7,12 @@ Rabbit 3000A, TLCS-90) and STMicroelectronics STM8. Work is in progress on \ supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for \ other microprocessors." HOMEPAGE="http://sdcc.sourceforge.net" -COPYRIGHT="1999-2013 Sandeep Dutta" +COPYRIGHT="1999-2016 Sandeep Dutta" LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="http://sourceforge.net/projects/sdcc/files/sdcc/$portVersion/sdcc-src-$portVersion.tar.bz2" -CHECKSUM_SHA256="f82978d1614244b22e093402c0a4de1f688a07c807b2980126c964eb3df85fa9" -PATCHES="sdcc-3.5.0.patchset" +CHECKSUM_SHA256="e85dceb11e01ffefb545ec389da91265130c91953589392dddd2e5ec0b7ca374" +PATCHES="sdcc-3.6.0.patchset" ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" @@ -69,17 +69,27 @@ BUILD_PREREQUIRES=" cmd:bison cmd:flex cmd:make + cmd:makeinfo " BUILD() { + pushd support/cpp + autoconf + popd + + mkdir -p build + pushd build # The PIC14/16 ports need gputils. Enable them when we have a recipe for it. CFLAGS="-DO_ASYNC=0" \ - runConfigure ./configure --disable-pic14-port --disable-pic16-port --bindir=$prefix/bin + runConfigure ../configure --disable-pic14-port --disable-pic16-port --bindir=$prefix/bin make $jobArgs + popd } INSTALL() { + pushd build make install + popd }