From 38ff147a36b98d6c2e0027c0276ba92318ba2add Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 31 Jul 2002 04:20:04 +0000 Subject: Patch from Alexander Pevzner to fixup things when invoked as the C++ compiler to to automagically add include/g++ into the include search path, and automagically add -lstdc++ and -lm into the set of automatically linked libraries. --- extra/gcc-uClibc/gcc-uClibc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'extra/gcc-uClibc') diff --git a/extra/gcc-uClibc/gcc-uClibc.c b/extra/gcc-uClibc/gcc-uClibc.c index 76798fee2..a5dcee31c 100644 --- a/extra/gcc-uClibc/gcc-uClibc.c +++ b/extra/gcc-uClibc/gcc-uClibc.c @@ -303,7 +303,7 @@ int main(int argc, char **argv) } } - gcc_argv = __builtin_alloca(sizeof(char*) * (argc + 20)); + gcc_argv = __builtin_alloca(sizeof(char*) * (argc + 64)); gcc_argument = __builtin_alloca(sizeof(char*) * (argc + 20)); i = 0; k = 0; @@ -354,6 +354,12 @@ int main(int argc, char **argv) } if (use_stdinc && source_count) { gcc_argv[i++] = nostdinc; + if (cplusplus) { + char *cppinc; + xstrcat(&cppinc, uClibc_inc[use_build_dir], "g++/", NULL); + gcc_argv[i++] = "-isystem"; + gcc_argv[i++] = cppinc; + } gcc_argv[i++] = "-isystem"; gcc_argv[i++] = uClibc_inc[use_build_dir]; gcc_argv[i++] = "-iwithprefix"; @@ -379,6 +385,10 @@ int main(int argc, char **argv) for ( l = 0 ; l < m ; l++ ) { if (libraries[l]) gcc_argv[i++] = libraries[l]; } + if (cplusplus) { + gcc_argv[ i++ ] = "-lstdc++"; + gcc_argv[ i++ ] = "-lm"; + } gcc_argv[i++] = "-lc"; gcc_argv[i++] = "-lgcc"; //gcc_argv[i++] = "-Wl,--end-group"; -- cgit v1.2.3