--- config/gcc-plugin.m4 | 18 +++++++++++++----- gcc/configure | 22 +++++++++++++++------- libcc1/configure | 22 +++++++++++++++------- 3 files changed, 43 insertions(+), 19 deletions(-) --- a/config/gcc-plugin.m4 +++ b/config/gcc-plugin.m4 @@ -21,6 +21,9 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], pluginlibs= plugin_check=yes + PICFLAG="-fPIC" + UNDEFINEDPREAMBLE="extern int X;" + UNDEFINEDCODE="return X == 0;" case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on @@ -43,6 +46,11 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], export_sym_check= fi ;; + *-*-mingw*|*-*-cygwin*|*-*-msys*) + PICFLAG="" + UNDEFINEDPREAMBLE="" + UNDEFINEDCODE="" + ;; *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" @@ -94,17 +102,17 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` - CFLAGS="$CFLAGS -fPIC" + CFLAGS="$CFLAGS ${PICFLAG}" LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" ;; *) - CFLAGS="$CFLAGS -fPIC" - LDFLAGS="$LDFLAGS -fPIC -shared" + CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS ${PICFLAG} -shared" ;; esac - AC_MSG_CHECKING([for -fPIC -shared]) + AC_MSG_CHECKING([for ${PICFLAG} -shared]) AC_TRY_LINK( - [extern int X;],[return X == 0;], + [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], [AC_MSG_RESULT([yes]); have_pic_shared=yes], [AC_MSG_RESULT([no]); have_pic_shared=no]) if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then --- a/gcc/configure +++ b/gcc/configure @@ -30375,6 +30375,9 @@ fi pluginlibs= plugin_check=yes + PICFLAG="-fPIC" + UNDEFINEDPREAMBLE="extern int X;" + UNDEFINEDCODE="return X == 0;" case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on @@ -30397,6 +30400,11 @@ fi export_sym_check= fi ;; + *-*-mingw*|*-*-cygwin*|*-*-msys*) + PICFLAG="" + UNDEFINEDPREAMBLE="" + UNDEFINEDCODE="" + ;; *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" @@ -30509,23 +30517,23 @@ fi case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` - CFLAGS="$CFLAGS -fPIC" + CFLAGS="$CFLAGS ${PICFLAG}" LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" ;; *) - CFLAGS="$CFLAGS -fPIC" - LDFLAGS="$LDFLAGS -fPIC -shared" + CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS ${PICFLAG} -shared" ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 -$as_echo_n "checking for -fPIC -shared... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 +$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -extern int X; +${UNDEFINEDPREAMBLE} int main () { -return X == 0; +${UNDEFINEDCODE} ; return 0; } --- a/libcc1/configure +++ b/libcc1/configure @@ -14795,6 +14795,9 @@ fi pluginlibs= plugin_check=yes + PICFLAG="-fPIC" + UNDEFINEDPREAMBLE="extern int X;" + UNDEFINEDCODE="return X == 0;" case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on @@ -14817,6 +14820,11 @@ fi export_sym_check= fi ;; + *-*-mingw*|*-*-cygwin*|*-*-msys*) + PICFLAG="" + UNDEFINEDPREAMBLE="" + UNDEFINEDCODE="" + ;; *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" @@ -14929,23 +14937,23 @@ fi case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` - CFLAGS="$CFLAGS -fPIC" + CFLAGS="$CFLAGS ${PICFLAG}" LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" ;; *) - CFLAGS="$CFLAGS -fPIC" - LDFLAGS="$LDFLAGS -fPIC -shared" + CFLAGS="$CFLAGS ${PICFLAG}" + LDFLAGS="$LDFLAGS ${PICFLAG} -shared" ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 -$as_echo_n "checking for -fPIC -shared... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 +$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -extern int X; +${UNDEFINEDPREAMBLE} int main () { -return X == 0; +${UNDEFINEDCODE} ; return 0; }