Patchwork Add -lpwl to ppllibs.

login
register
mail settings
Submitter Sebastian Pop
Date Feb. 23, 2011, 8:47 p.m.
Message ID <1298494027-24185-1-git-send-email-sebpop@gmail.com>
Download mbox | patch
Permalink /patch/84240/
State New
Headers show

Comments

Sebastian Pop - Feb. 23, 2011, 8:47 p.m.
Hi Ralf,

here is the updated patch with your remarks and the remarks from
Rainer.  We still have the libs in the same order: -lppl_c -lppl
$pwllib, and I will change the order following what Roberto says.

Tested as previously with all the combinations below:
without ppl
--with-ppl with pwl
--with-ppl without pwl
--with-ppl=/path/to/ppl_with_pwl
--with-ppl=/path/to/ppl_without_pwl
--with-ppl-libs=/path/to/ppl_with_pwl
--with-ppl-libs=/path/to/ppl_without_pwl
in-tree ppl
in-tree ppl --enable-watchdog
in-tree ppl --disable-watchdog

Ok for trunk?

2011-02-23  Sebastian Pop  <sebastian.pop@amd.com>

	* configure.ac: Add -lpwl to ppllibs.
	* configure: Regenerated.
---
 ChangeLog    |    5 +++
 configure    |  108 +++++++++++++++++++++++++++++++++++++++++++++-------------
 configure.ac |   73 +++++++++++++++++++++++++--------------
 3 files changed, 136 insertions(+), 50 deletions(-)
Ralf Wildenhues - Feb. 27, 2011, 6:35 a.m.
* Sebastian Pop wrote on Wed, Feb 23, 2011 at 09:47:07PM CET:
> here is the updated patch with your remarks and the remarks from
> Rainer.  We still have the libs in the same order: -lppl_c -lppl
> $pwllib, and I will change the order following what Roberto says.

Well, has Roberto replied yet?  The contents of the patch depend
on the answer, and I'd rather review that version of the patch
that is supposed to go in.

The patch looks OK for the case that pwl doesn't depend on any
of the other PPL libs.

Please remember that toplevel patches need to be synced to src.

> 2011-02-23  Sebastian Pop  <sebastian.pop@amd.com>
> 
> 	* configure.ac: Add -lpwl to ppllibs.
> 	* configure: Regenerated.

Thanks,
Ralf
Sebastian Pop - Feb. 27, 2011, 7:23 a.m.
Hi Ralf,

On Sun, Feb 27, 2011 at 00:35, Ralf Wildenhues <ralf.wildenhues@gmx.de> wrote:
> * Sebastian Pop wrote on Wed, Feb 23, 2011 at 09:47:07PM CET:
>> here is the updated patch with your remarks and the remarks from
>> Rainer.  We still have the libs in the same order: -lppl_c -lppl
>> $pwllib, and I will change the order following what Roberto says.
>
> Well, has Roberto replied yet?  The contents of the patch depend
> on the answer, and I'd rather review that version of the patch
> that is supposed to go in.
>
> The patch looks OK for the case that pwl doesn't depend on any
> of the other PPL libs.

I have not yet received an answer for the question of whether PWL is
independent of PPL.

If I'm looking with nm at the symbols of libpwl, I do not see any of
the symbols defined by the PPL.  Furthermore, the documentation
of PWL does not mention anything about PPL.

>
> Please remember that toplevel patches need to be synced to src.
>

Am I supposed to commit the configure changes to a different place
than gcc trunk?

Thanks,
Sebastian
Ralf Wildenhues - Feb. 27, 2011, 9:38 a.m.
* Sebastian Pop wrote on Sun, Feb 27, 2011 at 08:23:15AM CET:
> On Sun, Feb 27, 2011 at 00:35, Ralf Wildenhues wrote:
> > * Sebastian Pop wrote on Wed, Feb 23, 2011 at 09:47:07PM CET:
> >> here is the updated patch with your remarks and the remarks from
> >> Rainer.  We still have the libs in the same order: -lppl_c -lppl
> >> $pwllib, and I will change the order following what Roberto says.
> >
> > Well, has Roberto replied yet?  The contents of the patch depend
> > on the answer, and I'd rather review that version of the patch
> > that is supposed to go in.
> >
> > The patch looks OK for the case that pwl doesn't depend on any
> > of the other PPL libs.
> 
> I have not yet received an answer for the question of whether PWL is
> independent of PPL.

He answered now.  So the patch is OK.

> > Please remember that toplevel patches need to be synced to src.
> 
> Am I supposed to commit the configure changes to a different place
> than gcc trunk?

Yes, to the src CVS repository, and Cc:ing binutils and gdb-patches
at sourceware.org.  See
http://gcc.gnu.org/codingconventions.html#upstream for details.

Thanks,
Ralf

Patch

diff --git a/ChangeLog b/ChangeLog
index 73ad168..6d0fb9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@ 
+2011-02-23  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* configure.ac: Add -lpwl to ppllibs.
+	* configure: Regenerated.
+
 2011-02-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* MAINTAINERS: Add myself as testsuite maintainer.
diff --git a/configure b/configure
index ac7db39..997282f 100755
--- a/configure
+++ b/configure
@@ -5660,8 +5660,9 @@  fi
 
 
 # Check for PPL
-ppllibs=" -lppl_c -lppl -lgmpxx"
+ppllibs=
 pplinc=
+pwllib=
 
 
 # Check whether --with-ppl was given.
@@ -5682,52 +5683,110 @@  if test "${with_ppl_lib+set}" = set; then :
 fi
 
 
+# Check whether --enable-ppl-version-check was given.
+if test "${enable_ppl_version_check+set}" = set; then :
+  enableval=$enable_ppl_version_check;
+fi
+
+
 case $with_ppl in
-  no)
-    ppllibs=
-    ;;
-  "" | yes)
+  yes | no | "")
     ;;
   *)
-    ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
+    ppllibs="-L$with_ppl/lib"
     pplinc="-I$with_ppl/include $pplinc"
+    if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
+      with_ppl=yes
+    else
+      as_fn_error "cannot find directories \"$with_ppl/lib\" or \"$with_ppl/include\"" "$LINENO" 5
+    fi
     ;;
 esac
-if test "x$with_ppl_include" != x; then
+
+if test x"$with_ppl_include" != x; then
   pplinc="-I$with_ppl_include $pplinc"
+  with_ppl=yes
 fi
+
 if test "x$with_ppl_lib" != x; then
-  ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
+  ppllibs="-L$with_ppl_lib"
+  with_ppl=yes
 fi
-if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
-  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
+
+if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
+  if test x"$enable_watchdog" = xyes; then
+    pwllib="-lpwl"
+  fi
+  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
   pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
   enable_ppl_version_check=no
+  with_ppl=yes
 fi
 
-# Check whether --enable-ppl-version-check was given.
-if test "${enable_ppl_version_check+set}" = set; then :
-  enableval=$enable_ppl_version_check; ENABLE_PPL_CHECK=$enableval
+if test "x$with_ppl" = xyes; then
+  if test "x$pwllib" = x; then
+    saved_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $ppllibs"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PWL_handle_timeout in -lpwl" >&5
+$as_echo_n "checking for PWL_handle_timeout in -lpwl... " >&6; }
+if test "${ac_cv_lib_pwl_PWL_handle_timeout+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpwl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char PWL_handle_timeout ();
+int
+main ()
+{
+return PWL_handle_timeout ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pwl_PWL_handle_timeout=yes
 else
-  ENABLE_PPL_CHECK=yes
+  ac_cv_lib_pwl_PWL_handle_timeout=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pwl_PWL_handle_timeout" >&5
+$as_echo "$ac_cv_lib_pwl_PWL_handle_timeout" >&6; }
+if test "x$ac_cv_lib_pwl_PWL_handle_timeout" = x""yes; then :
+  pwllib="-lpwl"
 fi
 
+    LDFLAGS="$saved_LDFLAGS"
+  fi
 
-if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
-  saved_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pplinc $gmpinc"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.11 (or later revision) of PPL" >&5
-$as_echo_n "checking for version 0.11 (or later revision) of PPL... " >&6; }
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
+
+  if test "$enable_ppl_version_check" != no; then
+    saved_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS $pplinc $gmpinc"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.11 (revision 0 or later) of PPL" >&5
+$as_echo_n "checking for version 0.11 (revision 0 or later) of PPL... " >&6; }
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include "ppl_c.h"
 int
 main ()
 {
 
-  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
-  choke me
-  #endif
+    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
+    choke me
+    #endif
 
   ;
   return 0;
@@ -5741,7 +5800,8 @@  else
 $as_echo "no" >&6; }; ppllibs= ; pplinc= ; with_ppl=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS="$saved_CFLAGS"
+    CFLAGS="$saved_CFLAGS"
+  fi
 fi
 
 # Flags needed for PPL
diff --git a/configure.ac b/configure.ac
index 9121d65..4fb29c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1621,8 +1621,9 @@  AC_ARG_WITH(boot-ldflags,
 AC_SUBST(poststage1_ldflags)
 
 # Check for PPL
-ppllibs=" -lppl_c -lppl -lgmpxx"
+ppllibs=
 pplinc=
+pwllib=
 
 AC_ARG_WITH(ppl,
 [AS_HELP_STRING([--with-ppl=PATH],
@@ -1636,45 +1637,65 @@  AC_ARG_WITH(ppl-lib,
 [AS_HELP_STRING([--with-ppl-lib=PATH],
 		[specify directory for the installed PPL library])])
 
-case $with_ppl in 
-  no)
-    ppllibs=
-    ;;
-  "" | yes)
+AC_ARG_ENABLE(ppl-version-check,
+[AS_HELP_STRING([--disable-ppl-version-check],
+		[disable check for PPL version])])
+
+case $with_ppl in
+  yes | no | "")
     ;;
   *)
-    ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx"
+    ppllibs="-L$with_ppl/lib"
     pplinc="-I$with_ppl/include $pplinc"
+    if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
+      with_ppl=yes
+    else
+      AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"])
+    fi
     ;;
 esac
-if test "x$with_ppl_include" != x; then
+
+if test x"$with_ppl_include" != x; then
   pplinc="-I$with_ppl_include $pplinc"
+  with_ppl=yes
 fi
+
 if test "x$with_ppl_lib" != x; then
-  ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx"
+  ppllibs="-L$with_ppl_lib"
+  with_ppl=yes
 fi
-if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
-  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"' -lppl_c -lppl -lgmpxx '
+
+if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
+  if test x"$enable_watchdog" = xyes; then
+    pwllib="-lpwl"
+  fi
+  ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
   pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
   enable_ppl_version_check=no
+  with_ppl=yes
 fi
 
-AC_ARG_ENABLE(ppl-version-check,
-[AS_HELP_STRING([--disable-ppl-version-check],
-		[disable check for PPL version])],
-ENABLE_PPL_CHECK=$enableval,
-ENABLE_PPL_CHECK=yes)
+if test "x$with_ppl" = xyes; then
+  if test "x$pwllib" = x; then
+    saved_LDFLAGS="$LDFLAGS"
+    LDFLAGS="$LDFLAGS $ppllibs"
+    AC_CHECK_LIB(pwl,PWL_handle_timeout,[pwllib="-lpwl"])
+    LDFLAGS="$saved_LDFLAGS"
+  fi
 
-if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
-  saved_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS $pplinc $gmpinc"
-  AC_MSG_CHECKING([for version 0.11 (or later revision) of PPL])
-  AC_TRY_COMPILE([#include "ppl_c.h"],[
-  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
-  choke me
-  #endif
-  ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
-  CFLAGS="$saved_CFLAGS"
+  ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
+
+  if test "$enable_ppl_version_check" != no; then
+    saved_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS $pplinc $gmpinc"
+    AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
+    AC_TRY_COMPILE([#include "ppl_c.h"],[
+    #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
+    choke me
+    #endif
+    ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
+    CFLAGS="$saved_CFLAGS"
+  fi
 fi
 
 # Flags needed for PPL