aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools
diff options
context:
space:
mode:
authorPhilip Balister <philip@balister.org>2013-12-12 08:39:26 -0500
committerMartin Jansa <Martin.Jansa@gmail.com>2013-12-21 19:21:17 +0100
commitd88a6a9a388e45efa814396e18e76fa0d69310f6 (patch)
tree9a5b92935eca4ccbfc9f8937b3e3585ca4eb0ff4 /meta-oe/recipes-devtools
parentd9b2b7e3f12d93fd32067664b7926f9eab52de3e (diff)
downloadmeta-openembedded-contrib-d88a6a9a388e45efa814396e18e76fa0d69310f6.tar.gz
meta-openembedded-contrib-d88a6a9a388e45efa814396e18e76fa0d69310f6.tar.bz2
meta-openembedded-contrib-d88a6a9a388e45efa814396e18e76fa0d69310f6.zip
mcpp : Add recipe. mcpp is a c/c++ preprocessor.
Includes a patch from Zeroc to help with ice builds. Signed-off-by: Philip Balister <philip@balister.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools')
-rw-r--r--meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch208
-rw-r--r--meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb16
2 files changed, 224 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
new file mode 100644
index 0000000000..8103cf0920
--- /dev/null
+++ b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
@@ -0,0 +1,208 @@
+diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
+*** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969
+--- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010
+***************
+*** 0 ****
+--- 1,67 ----
++ *** noconfig.H Thu Sep 25 15:34:56 2008
++ --- noconfig.H.vc2005 Thu Sep 25 17:23:49 2008
++ ***************
++ *** 15,21 ****
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_FREEBSD
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ --- 15,21 ----
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_WIN32
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ ***************
++ *** 26,36 ****
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER GNUC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "GCC 3.4"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
++ --- 26,36 ----
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER MSC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "Visual C 2010"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
++ ***************
++ *** 212,221 ****
++ #define ONE_PASS TRUE
++ #endif
++ #define COMPILER_EXT "_MSC_VER"
++ ! #define COMPILER_EXT_VAL "1500" /* VC 6.0: "1200" */
++ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
++ #define COMPILER_EXT2 "_MSC_FULL_VER"
++ ! #define COMPILER_EXT2_VAL "150021022" /* VC 6.0: "12008804" */
++ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
++ /* VC 2008: "150021022" */
++ #define COMPILER_SP1 "_MSC_EXTENSIONS"
++ --- 212,221 ----
++ #define ONE_PASS TRUE
++ #endif
++ #define COMPILER_EXT "_MSC_VER"
++ ! #define COMPILER_EXT_VAL "1600" /* VC 6.0: "1200" */
++ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
++ #define COMPILER_EXT2 "_MSC_FULL_VER"
++ ! #define COMPILER_EXT2_VAL "160030319" /* VC 6.0: "12008804" */
++ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
++ /* VC 2008: "150021022" */
++ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H
+*** ../mcpp-2.7.2-old/src/internal.H Wed Aug 27 10:31:16 2008
+--- ./src/internal.H Fri May 14 12:40:56 2010
+***************
+*** 390,395 ****
+--- 390,397 ----
+ extern char identifier[]; /* Lastly scanned name */
+ extern IFINFO ifstack[]; /* Information of #if nesting */
+ extern char work_buf[];
++ extern FILEINFO * sh_file;
++ extern int sh_line;
+ /* Temporary buffer for directive line and macro expansion */
+
+ /* main.c */
+***************
+*** 557,562 ****
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+--- 559,564 ----
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY && !defined(stpcpy)
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+diff -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c
+*** ../mcpp-2.7.2-old/src/main.c Wed Nov 5 05:04:46 2008
+--- ./src/main.c Fri May 14 12:40:56 2010
+***************
+*** 326,331 ****
+--- 326,333 ----
+ = FALSE;
+ option_flags.trig = TRIGRAPHS_INIT;
+ option_flags.dig = DIGRAPHS_INIT;
++ sh_file = NULL;
++ sh_line = 0;
+ }
+
+ int mcpp_lib_main
+diff -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c
+*** ../mcpp-2.7.2-old/src/support.c Tue Jun 10 06:02:33 2008
+--- ./src/support.c Fri May 14 12:40:56 2010
+***************
+*** 188,194 ****
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+--- 188,194 ----
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+***************
+*** 1722,1727 ****
+--- 1722,1729 ----
+ sp -= 2;
+ while (*sp != '\n') /* Until end of line */
+ mcpp_fputc( *sp++, OUT);
++ mcpp_fputc( '\n', OUT);
++ wrong_line = TRUE;
+ }
+ goto end_line;
+ default: /* Not a comment */
+diff -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c
+*** ../mcpp-2.7.2-old/src/system.c 2008-11-26 10:53:51.000000000 +0100
+--- ./src/system.c 2011-02-21 16:18:05.678058106 +0100
+***************
+*** 3534,3539 ****
+--- 3534,3565 ----
+ FILEINFO * file;
+ const char * too_many_include_nest =
+ "More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
++
++ //
++ // When encoding is UTF-8, skip BOM if present.
++ //
++ if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0)
++ {
++ const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
++ unsigned char FILE_HEAD[3] = {0, 0, 0};
++ int i;
++ for(i = 0; i < 3; ++i)
++ {
++ FILE_HEAD[i] = getc(fp);
++ if(FILE_HEAD[i] != UTF8_BOM[i])
++ {
++ if(FILE_HEAD[i] == (unsigned char)EOF)
++ {
++ i--;
++ }
++ for(; i >= 0; --i)
++ {
++ ungetc(FILE_HEAD[i], fp);
++ }
++ break;
++ }
++ }
++ }
+
+ filename = set_fname( filename); /* Search or append to fnamelist[] */
+ fullname = set_fname( fullname); /* Search or append to fnamelist[] */
+***************
+*** 3858,3863 ****
+--- 3884,3892 ----
+ }
+ #endif
+
++ FILEINFO* sh_file;
++ int sh_line;
++
+ void sharp(
+ FILEINFO * sharp_file,
+ int flag /* Flag to append to the line for GCC */
+***************
+*** 3868,3875 ****
+ * else (i.e. 'sharp_file' is NULL) 'infile'.
+ */
+ {
+- static FILEINFO * sh_file;
+- static int sh_line;
+ FILEINFO * file;
+ int line;
+
+--- 3897,3902 ----
diff --git a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
new file mode 100644
index 0000000000..a7163a35a8
--- /dev/null
+++ b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "MCPP is a portable C/C++ preprocessor"
+HOMEPAGE = "http://mcpp.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://ice-mcpp.patch "
+SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
+SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"
+
+inherit autotools
+
+EXTRA_OECONF = " --enable-mcpplib "
+
+BBCLASSEXTEND = "native nativesdk"
+