[oe] [meta-oe][PATCHv2] mcpp : Add recipe. mcpp is a c/c++ preprocessor.

Philip Balister philip at balister.org
Thu Dec 12 13:39:26 UTC 2013


Includes a patch from Zeroc to help with ice builds.

Signed-off-by: Philip Balister <philip at balister.org>
---
 meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch | 208 +++++++++++++++++++++
 meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb        |  16 ++
 2 files changed, 224 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
 create mode 100644 meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb

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 0000000..8103cf0
--- /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 0000000..a7163a3
--- /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"
+
-- 
1.8.3.1




More information about the Openembedded-devel mailing list