]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
ppl: New package.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 21 Mar 2010 22:34:49 +0000 (23:34 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 21 Mar 2010 22:34:49 +0000 (23:34 +0100)
pkgs/core/ppl/patches/ppl-0.10.2-Makefile.patch [new file with mode: 0644]
pkgs/core/ppl/patches/ppl-0.10.2-gmp-build-fix.patch [new file with mode: 0644]
pkgs/core/ppl/patches/ppl-0.10.2-m4-update.patch [new file with mode: 0644]
pkgs/core/ppl/ppl.nm [new file with mode: 0644]

diff --git a/pkgs/core/ppl/patches/ppl-0.10.2-Makefile.patch b/pkgs/core/ppl/patches/ppl-0.10.2-Makefile.patch
new file mode 100644 (file)
index 0000000..307e5c7
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ur ppl-0.10.1/Watchdog/doc/Makefile.in ppl-0.10.1-patched/Watchdog/doc/Makefile.in
+--- ppl-0.10.1/Watchdog/doc/Makefile.in        2000-04-11 10:36:59.000000000 +0100
++++ ppl-0.10.1-patched/Watchdog/doc/Makefile.in        2009-04-11 17:53:10.000000000 +0100
+@@ -163,7 +163,7 @@
+ debug_flag = @debug_flag@
+ # All the documentation in docdir.
+-docdir = @docdir@
++docdir = @docdir@/pwl
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
diff --git a/pkgs/core/ppl/patches/ppl-0.10.2-gmp-build-fix.patch b/pkgs/core/ppl/patches/ppl-0.10.2-gmp-build-fix.patch
new file mode 100644 (file)
index 0000000..a951fc2
--- /dev/null
@@ -0,0 +1,63 @@
+X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=blobdiff_plain;f=m4%2Fac_check_gmp.m4;h=15acb182ed2d386e899fcdf6eeb9ea5b8fb3b90c;hp=4dc3bc84e978da109e08c4d64d6551535f2eef4b;hb=refs%2Fheads%2Fpip;hpb=5596eca02f2dea09e57ea22a240c2f3eab8be9e5
+
+diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
+index 4dc3bc8..15acb18 100644
+--- a/m4/ac_check_gmp.m4
++++ b/m4/ac_check_gmp.m4
+@@ -1,5 +1,5 @@
+ dnl A function to check for the existence and usability of GMP.
+-dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara@cs.unipr.it>
++dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
+ dnl
+ dnl This file is part of the Parma Polyhedra Library (PPL).
+ dnl
+@@ -32,6 +32,23 @@ else
+   fi
+ fi
++AC_ARG_WITH(gmp-build,
++  AS_HELP_STRING([--with-gmp-build=DIR],
++                 [use a non-installed build of GMP in DIR]),
++  gmp_build_dir=$with_gmp_build
++  if test -z "$with_libgmp_prefix"
++  then
++    CPPFLAGS="$CPPFLAGS -I$gmp_build_dir -I$gmp_build_dir/tune"
++    LDFLAGS="$LDFLAGS -L$gmp_build_dir -L$gmp_build_dir/.libs"
++    LDFLAGS="$LDFLAGS -L$gmp_build_dir/tune"
++  else
++    AC_MSG_ERROR([cannot use --with-gmp-build and --with-gmp-prefix together])
++  fi)
++
++dnl Both libgmp and libbmpxx come from the gmp package.
++AC_LIB_FROMPACKAGE([gmp], [gmp])
++AC_LIB_FROMPACKAGE([gmpxx], [gmp])
++
+ dnl Check how to link with libgmp.
+ AC_LIB_LINKFLAGS([gmp])
+@@ -54,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #GMP version 4.1.3 or higher is required
+ #endif
++#ifndef BITS_PER_MP_LIMB
++#define BITS_PER_MP_LIMB GMP_LIMB_BITS
++#endif
++
+ int
+ main() {
+   std::string header_version;
+@@ -80,11 +101,11 @@ main() {
+     return 1;
+   }
+-  if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
+-      || GMP_LIMB_BITS != mp_bits_per_limb) {
++  if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
++      || BITS_PER_MP_LIMB != mp_bits_per_limb) {
+     std::cerr
+       << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+-      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
++      << "header gives " << BITS_PER_MP_LIMB << ";\n"
+       << "library gives " << mp_bits_per_limb << ".\n"
+       << "This probably means you are on a bi-arch system and\n"
+       << "you are compiling with the wrong header or linking with\n"
diff --git a/pkgs/core/ppl/patches/ppl-0.10.2-m4-update.patch b/pkgs/core/ppl/patches/ppl-0.10.2-m4-update.patch
new file mode 100644 (file)
index 0000000..b233ede
--- /dev/null
@@ -0,0 +1,755 @@
+From e3460918400e04cf24fda33ff0cf9d18a95840b8 Mon Sep 17 00:00:00 2001
+From: Roberto Bagnara <bagnara@cs.unipr.it>
+Date: Tue, 12 May 2009 15:49:10 +0200
+Subject: [PATCH] Updated from Gnulib.
+
+---
+ m4/lib-ld.m4     |   14 +-
+ m4/lib-link.m4   |  352 +++++++++++++++++++++++++++++++++++++++++++-----------
+ m4/lib-prefix.m4 |   81 ++++++++++++-
+ 3 files changed, 363 insertions(+), 84 deletions(-)
+
+diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
+index 96c4e2c..e4863f2 100644
+--- a/m4/lib-ld.m4
++++ b/m4/lib-ld.m4
+@@ -1,5 +1,5 @@
+-# lib-ld.m4 serial 3 (gettext-0.13)
+-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
++# lib-ld.m4 serial 4 (gettext-0.18)
++dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+@@ -10,7 +10,7 @@ dnl with libtool.m4.
+ dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+ AC_DEFUN([AC_LIB_PROG_LD_GNU],
+-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+ [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ case `$LD -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+@@ -23,7 +23,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
+ dnl From libtool-1.4. Sets the variable LD.
+ AC_DEFUN([AC_LIB_PROG_LD],
+-[AC_ARG_WITH(gnu-ld,
++[AC_ARG_WITH([gnu-ld],
+ [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+ test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+ AC_REQUIRE([AC_PROG_CC])dnl
+@@ -77,7 +77,7 @@ elif test "$with_gnu_ld" = yes; then
+ else
+   AC_MSG_CHECKING([for non-GNU ld])
+ fi
+-AC_CACHE_VAL(acl_cv_path_LD,
++AC_CACHE_VAL([acl_cv_path_LD],
+ [if test -z "$LD"; then
+   IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+   for ac_dir in $PATH; do
+@@ -101,9 +101,9 @@ else
+ fi])
+ LD="$acl_cv_path_LD"
+ if test -n "$LD"; then
+-  AC_MSG_RESULT($LD)
++  AC_MSG_RESULT([$LD])
+ else
+-  AC_MSG_RESULT(no)
++  AC_MSG_RESULT([no])
+ fi
+ test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+ AC_LIB_PROG_LD_GNU
+diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
+index ea0b0c4..2144203 100644
+--- a/m4/lib-link.m4
++++ b/m4/lib-link.m4
+@@ -1,58 +1,66 @@
+-# lib-link.m4 serial 6 (gettext-0.14.3)
+-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
++# lib-link.m4 serial 19 (gettext-0.18)
++dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ dnl From Bruno Haible.
+-AC_PREREQ(2.50)
++AC_PREREQ([2.54])
+ dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+ dnl the libraries corresponding to explicit and implicit dependencies.
+ dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+ dnl augments the CPPFLAGS variable.
++dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
++dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+ AC_DEFUN([AC_LIB_LINKFLAGS],
+ [
+   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+   AC_REQUIRE([AC_LIB_RPATH])
+-  define([Name],[translit([$1],[./-], [___])])
+-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  pushdef([Name],[translit([$1],[./-], [___])])
++  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+     AC_LIB_LINKFLAGS_BODY([$1], [$2])
+     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+   ])
+   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+   AC_SUBST([LIB]NAME)
+   AC_SUBST([LTLIB]NAME)
++  AC_SUBST([LIB]NAME[_PREFIX])
+   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+   dnl results of this search when this library appears as a dependency.
+   HAVE_LIB[]NAME=yes
+-  undefine([Name])
+-  undefine([NAME])
++  popdef([NAME])
++  popdef([Name])
+ ])
+-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+ dnl searches for libname and the libraries corresponding to explicit and
+ dnl implicit dependencies, together with the specified include files and
+-dnl the ability to compile and link the specified testcode. If found, it
+-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
+-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl the ability to compile and link the specified testcode. The missing-message
++dnl defaults to 'no' and may contain additional hints for the user.
++dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
++dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+ dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+ dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
++dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+ [
+   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+   AC_REQUIRE([AC_LIB_RPATH])
+-  define([Name],[translit([$1],[./-], [___])])
+-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  pushdef([Name],[translit([$1],[./-], [___])])
++  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+   dnl accordingly.
+@@ -67,12 +75,14 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+     ac_save_LIBS="$LIBS"
+     LIBS="$LIBS $LIB[]NAME"
+-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++    AC_TRY_LINK([$3], [$4],
++      [ac_cv_lib[]Name=yes],
++      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+     LIBS="$ac_save_LIBS"
+   ])
+   if test "$ac_cv_lib[]Name" = yes; then
+     HAVE_LIB[]NAME=yes
+-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib[]$1 library.])
+     AC_MSG_CHECKING([how to link with lib[]$1])
+     AC_MSG_RESULT([$LIB[]NAME])
+   else
+@@ -82,17 +92,23 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+     CPPFLAGS="$ac_save_CPPFLAGS"
+     LIB[]NAME=
+     LTLIB[]NAME=
++    LIB[]NAME[]_PREFIX=
+   fi
+   AC_SUBST([HAVE_LIB]NAME)
+   AC_SUBST([LIB]NAME)
+   AC_SUBST([LTLIB]NAME)
+-  undefine([Name])
+-  undefine([NAME])
++  AC_SUBST([LIB]NAME[_PREFIX])
++  popdef([NAME])
++  popdef([Name])
+ ])
+ dnl Determine the platform dependent parameters needed to use rpath:
+-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
+-dnl hardcode_direct, hardcode_minus_L.
++dnl   acl_libext,
++dnl   acl_shlibext,
++dnl   acl_hardcode_libdir_flag_spec,
++dnl   acl_hardcode_libdir_separator,
++dnl   acl_hardcode_direct,
++dnl   acl_hardcode_minus_L.
+ AC_DEFUN([AC_LIB_RPATH],
+ [
+   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+@@ -101,7 +117,7 @@ AC_DEFUN([AC_LIB_RPATH],
+   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
+   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
+   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+     . ./conftest.sh
+@@ -109,34 +125,66 @@ AC_DEFUN([AC_LIB_RPATH],
+     acl_cv_rpath=done
+   ])
+   wl="$acl_cv_wl"
+-  libext="$acl_cv_libext"
+-  shlibext="$acl_cv_shlibext"
+-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+-  hardcode_direct="$acl_cv_hardcode_direct"
+-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
++  acl_libext="$acl_cv_libext"
++  acl_shlibext="$acl_cv_shlibext"
++  acl_libname_spec="$acl_cv_libname_spec"
++  acl_library_names_spec="$acl_cv_library_names_spec"
++  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++  acl_hardcode_direct="$acl_cv_hardcode_direct"
++  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+   dnl Determine whether the user wants rpath handling at all.
+-  AC_ARG_ENABLE(rpath,
++  AC_ARG_ENABLE([rpath],
+     [  --disable-rpath         do not hardcode runtime library paths],
+     :, enable_rpath=yes)
+ ])
++dnl AC_LIB_FROMPACKAGE(name, package)
++dnl declares that libname comes from the given package. The configure file
++dnl will then not have a --with-libname-prefix option but a
++dnl --with-package-prefix option. Several libraries can come from the same
++dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
++dnl macro call that searches for libname.
++AC_DEFUN([AC_LIB_FROMPACKAGE],
++[
++  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  define([acl_frompackage_]NAME, [$2])
++  popdef([NAME])
++  pushdef([PACK],[$2])
++  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
++                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  define([acl_libsinpackage_]PACKUP,
++    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
++  popdef([PACKUP])
++  popdef([PACK])
++])
++
+ dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+ dnl the libraries corresponding to explicit and implicit dependencies.
+ dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
++dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+ [
+-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
++  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
++  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
++                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
++  dnl Autoconf >= 2.61 supports dots in --with options.
++  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+   dnl By default, look in $includedir and $libdir.
+   use_additional=yes
+   AC_LIB_WITH_FINAL_PREFIX([
+     eval additional_includedir=\"$includedir\"
+     eval additional_libdir=\"$libdir\"
+   ])
+-  AC_LIB_ARG_WITH([lib$1-prefix],
+-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
+-  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
++  AC_ARG_WITH(P_A_C_K[-prefix],
++[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
++  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+ [
+     if test "X$withval" = "Xno"; then
+       use_additional=no
+@@ -148,7 +196,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+         ])
+       else
+         additional_includedir="$withval/include"
+-        additional_libdir="$withval/lib"
++        additional_libdir="$withval/$acl_libdirstem"
++        if test "$acl_libdirstem2" != "$acl_libdirstem" \
++           && ! test -d "$withval/$acl_libdirstem"; then
++          additional_libdir="$withval/$acl_libdirstem2"
++        fi
+       fi
+     fi
+ ])
+@@ -157,6 +209,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+   LIB[]NAME=
+   LTLIB[]NAME=
+   INC[]NAME=
++  LIB[]NAME[]_PREFIX=
+   rpathdirs=
+   ltrpathdirs=
+   names_already_handled=
+@@ -196,22 +249,55 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+           found_la=
+           found_so=
+           found_a=
++          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
++          if test -n "$acl_shlibext"; then
++            shrext=".$acl_shlibext"             # typically: shrext=.so
++          else
++            shrext=
++          fi
+           if test $use_additional = yes; then
+-            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+-              found_dir="$additional_libdir"
+-              found_so="$additional_libdir/lib$name.$shlibext"
+-              if test -f "$additional_libdir/lib$name.la"; then
+-                found_la="$additional_libdir/lib$name.la"
+-              fi
+-            else
+-              if test -f "$additional_libdir/lib$name.$libext"; then
+-                found_dir="$additional_libdir"
+-                found_a="$additional_libdir/lib$name.$libext"
+-                if test -f "$additional_libdir/lib$name.la"; then
+-                  found_la="$additional_libdir/lib$name.la"
++            dir="$additional_libdir"
++            dnl The same code as in the loop below:
++            dnl First look for a shared library.
++            if test -n "$acl_shlibext"; then
++              if test -f "$dir/$libname$shrext"; then
++                found_dir="$dir"
++                found_so="$dir/$libname$shrext"
++              else
++                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
++                  ver=`(cd "$dir" && \
++                        for f in "$libname$shrext".*; do echo "$f"; done \
++                        | sed -e "s,^$libname$shrext\\\\.,," \
++                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
++                        | sed 1q ) 2>/dev/null`
++                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
++                    found_dir="$dir"
++                    found_so="$dir/$libname$shrext.$ver"
++                  fi
++                else
++                  eval library_names=\"$acl_library_names_spec\"
++                  for f in $library_names; do
++                    if test -f "$dir/$f"; then
++                      found_dir="$dir"
++                      found_so="$dir/$f"
++                      break
++                    fi
++                  done
+                 fi
+               fi
+             fi
++            dnl Then look for a static library.
++            if test "X$found_dir" = "X"; then
++              if test -f "$dir/$libname.$acl_libext"; then
++                found_dir="$dir"
++                found_a="$dir/$libname.$acl_libext"
++              fi
++            fi
++            if test "X$found_dir" != "X"; then
++              if test -f "$dir/$libname.la"; then
++                found_la="$dir/$libname.la"
++              fi
++            fi
+           fi
+           if test "X$found_dir" = "X"; then
+             for x in $LDFLAGS $LTLIB[]NAME; do
+@@ -219,21 +305,46 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+               case "$x" in
+                 -L*)
+                   dir=`echo "X$x" | sed -e 's/^X-L//'`
+-                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+-                    found_dir="$dir"
+-                    found_so="$dir/lib$name.$shlibext"
+-                    if test -f "$dir/lib$name.la"; then
+-                      found_la="$dir/lib$name.la"
+-                    fi
+-                  else
+-                    if test -f "$dir/lib$name.$libext"; then
++                  dnl First look for a shared library.
++                  if test -n "$acl_shlibext"; then
++                    if test -f "$dir/$libname$shrext"; then
+                       found_dir="$dir"
+-                      found_a="$dir/lib$name.$libext"
+-                      if test -f "$dir/lib$name.la"; then
+-                        found_la="$dir/lib$name.la"
++                      found_so="$dir/$libname$shrext"
++                    else
++                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
++                        ver=`(cd "$dir" && \
++                              for f in "$libname$shrext".*; do echo "$f"; done \
++                              | sed -e "s,^$libname$shrext\\\\.,," \
++                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
++                              | sed 1q ) 2>/dev/null`
++                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
++                          found_dir="$dir"
++                          found_so="$dir/$libname$shrext.$ver"
++                        fi
++                      else
++                        eval library_names=\"$acl_library_names_spec\"
++                        for f in $library_names; do
++                          if test -f "$dir/$f"; then
++                            found_dir="$dir"
++                            found_so="$dir/$f"
++                            break
++                          fi
++                        done
+                       fi
+                     fi
+                   fi
++                  dnl Then look for a static library.
++                  if test "X$found_dir" = "X"; then
++                    if test -f "$dir/$libname.$acl_libext"; then
++                      found_dir="$dir"
++                      found_a="$dir/$libname.$acl_libext"
++                    fi
++                  fi
++                  if test "X$found_dir" != "X"; then
++                    if test -f "$dir/$libname.la"; then
++                      found_la="$dir/$libname.la"
++                    fi
++                  fi
+                   ;;
+               esac
+               if test "X$found_dir" != "X"; then
+@@ -248,7 +359,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+               dnl Linking with a shared library. We attempt to hardcode its
+               dnl directory into the executable's runpath, unless it's the
+               dnl standard /usr/lib.
+-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++              if test "$enable_rpath" = no \
++                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
++                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+                 dnl No hardcoding is needed.
+                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+               else
+@@ -267,12 +380,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+                   ltrpathdirs="$ltrpathdirs $found_dir"
+                 fi
+                 dnl The hardcoding into $LIBNAME is system dependent.
+-                if test "$hardcode_direct" = yes; then
++                if test "$acl_hardcode_direct" = yes; then
+                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+                   dnl resulting binary.
+                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                 else
+-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+                     dnl Use an explicit option to hardcode DIR into the resulting
+                     dnl binary.
+                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+@@ -303,13 +416,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+                     if test -z "$haveit"; then
+                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+                     fi
+-                    if test "$hardcode_minus_L" != no; then
++                    if test "$acl_hardcode_minus_L" != no; then
+                       dnl FIXME: Not sure whether we should use
+                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+                       dnl here.
+                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+                     else
+-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+                       dnl here, because this doesn't fit in flags passed to the
+                       dnl compiler. So give up. No hardcoding. This affects only
+                       dnl very old systems.
+@@ -334,8 +447,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+             dnl Assume the include files are nearby.
+             additional_includedir=
+             case "$found_dir" in
+-              */lib | */lib/)
+-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++              */$acl_libdirstem | */$acl_libdirstem/)
++                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
++                if test "$name" = '$1'; then
++                  LIB[]NAME[]_PREFIX="$basedir"
++                fi
++                additional_includedir="$basedir/include"
++                ;;
++              */$acl_libdirstem2 | */$acl_libdirstem2/)
++                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
++                if test "$name" = '$1'; then
++                  LIB[]NAME[]_PREFIX="$basedir"
++                fi
+                 additional_includedir="$basedir/include"
+                 ;;
+             esac
+@@ -396,9 +519,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+                     dnl   3. if it's already present in $LDFLAGS or the already
+                     dnl      constructed $LIBNAME,
+                     dnl   4. if it doesn't exist as a directory.
+-                    if test "X$additional_libdir" != "X/usr/lib"; then
++                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
++                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+                       haveit=
+-                      if test "X$additional_libdir" = "X/usr/local/lib"; then
++                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
++                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+                         if test -n "$GCC"; then
+                           case $host_os in
+                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+@@ -497,18 +622,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+     done
+   done
+   if test "X$rpathdirs" != "X"; then
+-    if test -n "$hardcode_libdir_separator"; then
++    if test -n "$acl_hardcode_libdir_separator"; then
+       dnl Weird platform: only the last -rpath option counts, the user must
+       dnl pass all path elements in one option. We can arrange that for a
+       dnl single library, but not when more than one $LIBNAMEs are used.
+       alldirs=
+       for found_dir in $rpathdirs; do
+-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+       done
+-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+       acl_save_libdir="$libdir"
+       libdir="$alldirs"
+-      eval flag=\"$hardcode_libdir_flag_spec\"
++      eval flag=\"$acl_hardcode_libdir_flag_spec\"
+       libdir="$acl_save_libdir"
+       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+     else
+@@ -516,7 +641,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+       for found_dir in $rpathdirs; do
+         acl_save_libdir="$libdir"
+         libdir="$found_dir"
+-        eval flag=\"$hardcode_libdir_flag_spec\"
++        eval flag=\"$acl_hardcode_libdir_flag_spec\"
+         libdir="$acl_save_libdir"
+         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+       done
+@@ -529,6 +654,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+     done
+   fi
++  popdef([P_A_C_K])
++  popdef([PACKLIBS])
++  popdef([PACKUP])
++  popdef([PACK])
++  popdef([NAME])
+ ])
+ dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+@@ -551,3 +681,81 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
+     fi
+   done
+ ])
++
++dnl For those cases where a variable contains several -L and -l options
++dnl referring to unknown libraries and directories, this macro determines the
++dnl necessary additional linker options for the runtime path.
++dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
++dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
++dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
++dnl otherwise linking without libtool is assumed.
++AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
++[
++  AC_REQUIRE([AC_LIB_RPATH])
++  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
++  $1=
++  if test "$enable_rpath" != no; then
++    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
++      dnl Use an explicit option to hardcode directories into the resulting
++      dnl binary.
++      rpathdirs=
++      next=
++      for opt in $2; do
++        if test -n "$next"; then
++          dir="$next"
++          dnl No need to hardcode the standard /usr/lib.
++          if test "X$dir" != "X/usr/$acl_libdirstem" \
++             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
++            rpathdirs="$rpathdirs $dir"
++          fi
++          next=
++        else
++          case $opt in
++            -L) next=yes ;;
++            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
++                 dnl No need to hardcode the standard /usr/lib.
++                 if test "X$dir" != "X/usr/$acl_libdirstem" \
++                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
++                   rpathdirs="$rpathdirs $dir"
++                 fi
++                 next= ;;
++            *) next= ;;
++          esac
++        fi
++      done
++      if test "X$rpathdirs" != "X"; then
++        if test -n ""$3""; then
++          dnl libtool is used for linking. Use -R options.
++          for dir in $rpathdirs; do
++            $1="${$1}${$1:+ }-R$dir"
++          done
++        else
++          dnl The linker is used for linking directly.
++          if test -n "$acl_hardcode_libdir_separator"; then
++            dnl Weird platform: only the last -rpath option counts, the user
++            dnl must pass all path elements in one option.
++            alldirs=
++            for dir in $rpathdirs; do
++              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
++            done
++            acl_save_libdir="$libdir"
++            libdir="$alldirs"
++            eval flag=\"$acl_hardcode_libdir_flag_spec\"
++            libdir="$acl_save_libdir"
++            $1="$flag"
++          else
++            dnl The -rpath options are cumulative.
++            for dir in $rpathdirs; do
++              acl_save_libdir="$libdir"
++              libdir="$dir"
++              eval flag=\"$acl_hardcode_libdir_flag_spec\"
++              libdir="$acl_save_libdir"
++              $1="${$1}${$1:+ }$flag"
++            done
++          fi
++        fi
++      fi
++    fi
++  fi
++  AC_SUBST([$1])
++])
+diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
+index 0d895ca..4b7ee33 100644
+--- a/m4/lib-prefix.m4
++++ b/m4/lib-prefix.m4
+@@ -1,5 +1,5 @@
+-# lib-prefix.m4 serial 4 (gettext-0.14.2)
+-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
++# lib-prefix.m4 serial 7 (gettext-0.18)
++dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+@@ -24,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
+   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+   AC_REQUIRE([AC_PROG_CC])
+   AC_REQUIRE([AC_CANONICAL_HOST])
++  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+   dnl By default, look in $includedir and $libdir.
+   use_additional=yes
+@@ -45,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
+         ])
+       else
+         additional_includedir="$withval/include"
+-        additional_libdir="$withval/lib"
++        additional_libdir="$withval/$acl_libdirstem"
+       fi
+     fi
+ ])
+@@ -87,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
+     dnl   2. if it's already present in $LDFLAGS,
+     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
+     dnl   4. if it doesn't exist as a directory.
+-    if test "X$additional_libdir" != "X/usr/lib"; then
++    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+       haveit=
+       for x in $LDFLAGS; do
+         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+@@ -97,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
+         fi
+       done
+       if test -z "$haveit"; then
+-        if test "X$additional_libdir" = "X/usr/local/lib"; then
++        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+           if test -n "$GCC"; then
+             case $host_os in
+               linux*) haveit=yes;;
+@@ -151,3 +152,73 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+   exec_prefix="$acl_save_exec_prefix"
+   prefix="$acl_save_prefix"
+ ])
++
++dnl AC_LIB_PREPARE_MULTILIB creates
++dnl - a variable acl_libdirstem, containing the basename of the libdir, either
++dnl   "lib" or "lib64" or "lib/64",
++dnl - a variable acl_libdirstem2, as a secondary possible value for
++dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
++dnl   "lib/amd64".
++AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
++[
++  dnl There is no formal standard regarding lib and lib64.
++  dnl On glibc systems, the current practice is that on a system supporting
++  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
++  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
++  dnl the compiler's default mode by looking at the compiler's library search
++  dnl path. If at least one of its elements ends in /lib64 or points to a
++  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
++  dnl Otherwise we use the default, namely "lib".
++  dnl On Solaris systems, the current practice is that on a system supporting
++  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
++  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
++  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
++  AC_REQUIRE([AC_CANONICAL_HOST])
++  acl_libdirstem=lib
++  acl_libdirstem2=
++  case "$host_os" in
++    solaris*)
++      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
++      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
++      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
++      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
++      dnl symlink is missing, so we set acl_libdirstem2 too.
++      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
++        [AC_EGREP_CPP([sixtyfour bits], [
++#ifdef _LP64
++sixtyfour bits
++#endif
++           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
++        ])
++      if test $gl_cv_solaris_64bit = yes; then
++        acl_libdirstem=lib/64
++        case "$host_cpu" in
++          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
++          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
++        esac
++      fi
++      ;;
++    *)
++      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
++      if test -n "$searchpath"; then
++        acl_save_IFS="${IFS=  }"; IFS=":"
++        for searchdir in $searchpath; do
++          if test -d "$searchdir"; then
++            case "$searchdir" in
++              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
++              */../ | */.. )
++                # Better ignore directories of this form. They are misleading.
++                ;;
++              *) searchdir=`cd "$searchdir" && pwd`
++                 case "$searchdir" in
++                   */lib64 ) acl_libdirstem=lib64 ;;
++                 esac ;;
++            esac
++          fi
++        done
++        IFS="$acl_save_IFS"
++      fi
++      ;;
++  esac
++  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
++])
+-- 
+1.6.0.6
+
diff --git a/pkgs/core/ppl/ppl.nm b/pkgs/core/ppl/ppl.nm
new file mode 100644 (file)
index 0000000..a692b23
--- /dev/null
@@ -0,0 +1,68 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007, 2008 Michael Tremer & Christian Schmidt                 #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include $(PKGROOT)/Include
+
+PKG_NAME       = ppl
+PKG_VER        = 0.10.2
+PKG_REL        = 0
+
+PKG_MAINTAINER = Michael Tremer <michael.tremer@ipfire.org>
+PKG_GROUP      = Development/Libraries
+PKG_URL        = http://www.cs.unipr.it/ppl/
+PKG_LICENSE    = GPLv3+
+PKG_SUMMARY    = The Parma Polyhedra Library: a library of numerical abstractions.
+
+PKG_BUILD_DEPS+= autoconf automake m4
+PKG_DEPS      += gmp
+
+define PKG_DESCRIPTION
+       The Parma Polyhedra Library (PPL) is a library for the manipulation of \
+       (not necessarily closed) convex polyhedra and other numerical \
+       abstractions.  The applications of convex polyhedra include program \
+       analysis, optimized compilation, integer and combinatorial \
+       optimization and statistical data-editing.  The Parma Polyhedra \
+       Library comes with several user friendly interfaces, is fully dynamic \
+       (available virtual memory is the only limitation to the dimension of \
+       anything), written in accordance to all the applicable standards, \
+       exception-safe, rather efficient, thoroughly documented, and free \
+       software.  This package provides all what is necessary to run \
+       applications using the PPL through its C and C++ interfaces.
+endef
+
+PKG_TARBALL    = $(THISAPP).tar.gz
+
+CONFIGURE_OPTIONS += \
+       --enable-interfaces="c cxx" \
+       --disable-debugging
+
+PARALLELISMFLAGS =
+
+define STAGE_PREPARE_CMDS
+       cd $(DIR_APP) && autoreconf -f
+endef
+
+define STAGE_TEST
+       cd $(DIR_APP) && make check
+endef