diff options
author | Philip Balister <philip@balister.org> | 2013-12-12 08:39:26 -0500 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-12-21 19:21:17 +0100 |
commit | d88a6a9a388e45efa814396e18e76fa0d69310f6 (patch) | |
tree | 9a5b92935eca4ccbfc9f8937b3e3585ca4eb0ff4 /meta-oe/recipes-devtools/mcpp | |
parent | d9b2b7e3f12d93fd32067664b7926f9eab52de3e (diff) | |
download | meta-openembedded-d88a6a9a388e45efa814396e18e76fa0d69310f6.tar.gz |
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/mcpp')
-rw-r--r-- | meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch | 208 | ||||
-rw-r--r-- | meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb | 16 |
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 @@ | |||
1 | diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif | ||
2 | *** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969 | ||
3 | --- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010 | ||
4 | *************** | ||
5 | *** 0 **** | ||
6 | --- 1,67 ---- | ||
7 | + *** noconfig.H Thu Sep 25 15:34:56 2008 | ||
8 | + --- noconfig.H.vc2005 Thu Sep 25 17:23:49 2008 | ||
9 | + *************** | ||
10 | + *** 15,21 **** | ||
11 | + */ | ||
12 | + | ||
13 | + /* Define target operating-system. */ | ||
14 | + ! #define SYSTEM SYS_FREEBSD | ||
15 | + | ||
16 | + /* Define target compiler. */ | ||
17 | + #ifndef COMPILER | ||
18 | + --- 15,21 ---- | ||
19 | + */ | ||
20 | + | ||
21 | + /* Define target operating-system. */ | ||
22 | + ! #define SYSTEM SYS_WIN32 | ||
23 | + | ||
24 | + /* Define target compiler. */ | ||
25 | + #ifndef COMPILER | ||
26 | + *************** | ||
27 | + *** 26,36 **** | ||
28 | + #define HOST_SYSTEM SYSTEM | ||
29 | + | ||
30 | + /* Define host compiler. */ | ||
31 | + ! #define HOST_COMPILER GNUC | ||
32 | + | ||
33 | + /* Version message. */ | ||
34 | + /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */ | ||
35 | + ! #define VERSION_MSG "GCC 3.4" | ||
36 | + #if 0 | ||
37 | + "LCC-Win32 2006-03" | ||
38 | + "Visual C 2005" | ||
39 | + --- 26,36 ---- | ||
40 | + #define HOST_SYSTEM SYSTEM | ||
41 | + | ||
42 | + /* Define host compiler. */ | ||
43 | + ! #define HOST_COMPILER MSC | ||
44 | + | ||
45 | + /* Version message. */ | ||
46 | + /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */ | ||
47 | + ! #define VERSION_MSG "Visual C 2010" | ||
48 | + #if 0 | ||
49 | + "LCC-Win32 2006-03" | ||
50 | + "Visual C 2005" | ||
51 | + *************** | ||
52 | + *** 212,221 **** | ||
53 | + #define ONE_PASS TRUE | ||
54 | + #endif | ||
55 | + #define COMPILER_EXT "_MSC_VER" | ||
56 | + ! #define COMPILER_EXT_VAL "1500" /* VC 6.0: "1200" */ | ||
57 | + /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */ | ||
58 | + #define COMPILER_EXT2 "_MSC_FULL_VER" | ||
59 | + ! #define COMPILER_EXT2_VAL "150021022" /* VC 6.0: "12008804" */ | ||
60 | + /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */ | ||
61 | + /* VC 2008: "150021022" */ | ||
62 | + #define COMPILER_SP1 "_MSC_EXTENSIONS" | ||
63 | + --- 212,221 ---- | ||
64 | + #define ONE_PASS TRUE | ||
65 | + #endif | ||
66 | + #define COMPILER_EXT "_MSC_VER" | ||
67 | + ! #define COMPILER_EXT_VAL "1600" /* VC 6.0: "1200" */ | ||
68 | + /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */ | ||
69 | + #define COMPILER_EXT2 "_MSC_FULL_VER" | ||
70 | + ! #define COMPILER_EXT2_VAL "160030319" /* VC 6.0: "12008804" */ | ||
71 | + /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */ | ||
72 | + /* VC 2008: "150021022" */ | ||
73 | + #define COMPILER_SP1 "_MSC_EXTENSIONS" | ||
74 | diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H | ||
75 | *** ../mcpp-2.7.2-old/src/internal.H Wed Aug 27 10:31:16 2008 | ||
76 | --- ./src/internal.H Fri May 14 12:40:56 2010 | ||
77 | *************** | ||
78 | *** 390,395 **** | ||
79 | --- 390,397 ---- | ||
80 | extern char identifier[]; /* Lastly scanned name */ | ||
81 | extern IFINFO ifstack[]; /* Information of #if nesting */ | ||
82 | extern char work_buf[]; | ||
83 | + extern FILEINFO * sh_file; | ||
84 | + extern int sh_line; | ||
85 | /* Temporary buffer for directive line and macro expansion */ | ||
86 | |||
87 | /* main.c */ | ||
88 | *************** | ||
89 | *** 557,562 **** | ||
90 | #endif | ||
91 | #endif | ||
92 | |||
93 | ! #if HOST_HAVE_STPCPY | ||
94 | extern char * stpcpy( char * dest, const char * src); | ||
95 | #endif | ||
96 | --- 559,564 ---- | ||
97 | #endif | ||
98 | #endif | ||
99 | |||
100 | ! #if HOST_HAVE_STPCPY && !defined(stpcpy) | ||
101 | extern char * stpcpy( char * dest, const char * src); | ||
102 | #endif | ||
103 | diff -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c | ||
104 | *** ../mcpp-2.7.2-old/src/main.c Wed Nov 5 05:04:46 2008 | ||
105 | --- ./src/main.c Fri May 14 12:40:56 2010 | ||
106 | *************** | ||
107 | *** 326,331 **** | ||
108 | --- 326,333 ---- | ||
109 | = FALSE; | ||
110 | option_flags.trig = TRIGRAPHS_INIT; | ||
111 | option_flags.dig = DIGRAPHS_INIT; | ||
112 | + sh_file = NULL; | ||
113 | + sh_line = 0; | ||
114 | } | ||
115 | |||
116 | int mcpp_lib_main | ||
117 | diff -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c | ||
118 | *** ../mcpp-2.7.2-old/src/support.c Tue Jun 10 06:02:33 2008 | ||
119 | --- ./src/support.c Fri May 14 12:40:56 2010 | ||
120 | *************** | ||
121 | *** 188,194 **** | ||
122 | size_t length | ||
123 | ) | ||
124 | { | ||
125 | ! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */ | ||
126 | size_t size = MAX( BUF_INCR_SIZE, length); | ||
127 | |||
128 | if (mem_buf_p->buffer == NULL) { /* 1st append */ | ||
129 | --- 188,194 ---- | ||
130 | size_t length | ||
131 | ) | ||
132 | { | ||
133 | ! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */ | ||
134 | size_t size = MAX( BUF_INCR_SIZE, length); | ||
135 | |||
136 | if (mem_buf_p->buffer == NULL) { /* 1st append */ | ||
137 | *************** | ||
138 | *** 1722,1727 **** | ||
139 | --- 1722,1729 ---- | ||
140 | sp -= 2; | ||
141 | while (*sp != '\n') /* Until end of line */ | ||
142 | mcpp_fputc( *sp++, OUT); | ||
143 | + mcpp_fputc( '\n', OUT); | ||
144 | + wrong_line = TRUE; | ||
145 | } | ||
146 | goto end_line; | ||
147 | default: /* Not a comment */ | ||
148 | diff -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c | ||
149 | *** ../mcpp-2.7.2-old/src/system.c 2008-11-26 10:53:51.000000000 +0100 | ||
150 | --- ./src/system.c 2011-02-21 16:18:05.678058106 +0100 | ||
151 | *************** | ||
152 | *** 3534,3539 **** | ||
153 | --- 3534,3565 ---- | ||
154 | FILEINFO * file; | ||
155 | const char * too_many_include_nest = | ||
156 | "More than %.0s%ld nesting of #include"; /* _F_ _W4_ */ | ||
157 | + | ||
158 | + // | ||
159 | + // When encoding is UTF-8, skip BOM if present. | ||
160 | + // | ||
161 | + if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0) | ||
162 | + { | ||
163 | + const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF}; | ||
164 | + unsigned char FILE_HEAD[3] = {0, 0, 0}; | ||
165 | + int i; | ||
166 | + for(i = 0; i < 3; ++i) | ||
167 | + { | ||
168 | + FILE_HEAD[i] = getc(fp); | ||
169 | + if(FILE_HEAD[i] != UTF8_BOM[i]) | ||
170 | + { | ||
171 | + if(FILE_HEAD[i] == (unsigned char)EOF) | ||
172 | + { | ||
173 | + i--; | ||
174 | + } | ||
175 | + for(; i >= 0; --i) | ||
176 | + { | ||
177 | + ungetc(FILE_HEAD[i], fp); | ||
178 | + } | ||
179 | + break; | ||
180 | + } | ||
181 | + } | ||
182 | + } | ||
183 | |||
184 | filename = set_fname( filename); /* Search or append to fnamelist[] */ | ||
185 | fullname = set_fname( fullname); /* Search or append to fnamelist[] */ | ||
186 | *************** | ||
187 | *** 3858,3863 **** | ||
188 | --- 3884,3892 ---- | ||
189 | } | ||
190 | #endif | ||
191 | |||
192 | + FILEINFO* sh_file; | ||
193 | + int sh_line; | ||
194 | + | ||
195 | void sharp( | ||
196 | FILEINFO * sharp_file, | ||
197 | int flag /* Flag to append to the line for GCC */ | ||
198 | *************** | ||
199 | *** 3868,3875 **** | ||
200 | * else (i.e. 'sharp_file' is NULL) 'infile'. | ||
201 | */ | ||
202 | { | ||
203 | - static FILEINFO * sh_file; | ||
204 | - static int sh_line; | ||
205 | FILEINFO * file; | ||
206 | int line; | ||
207 | |||
208 | --- 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 @@ | |||
1 | SUMMARY = "MCPP is a portable C/C++ preprocessor" | ||
2 | HOMEPAGE = "http://mcpp.sourceforge.net/" | ||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5" | ||
5 | |||
6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ | ||
7 | file://ice-mcpp.patch " | ||
8 | SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05" | ||
9 | SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | EXTRA_OECONF = " --enable-mcpplib " | ||
14 | |||
15 | BBCLASSEXTEND = "native nativesdk" | ||
16 | |||