diff options
author | Kevin Tian <kevin.tian@intel.com> | 2010-07-19 10:21:28 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-21 21:44:37 +0100 |
commit | 856769b0016c480627c9302b8dc8d2f479058120 (patch) | |
tree | e60676dcdda9590bf7056c016462b159233d9144 /meta | |
parent | 98cdb305585e1e376d9811cfaa7c86399075c668 (diff) | |
download | openembedded-core-856769b0016c480627c9302b8dc8d2f479058120.tar.gz openembedded-core-856769b0016c480627c9302b8dc8d2f479058120.tar.bz2 openembedded-core-856769b0016c480627c9302b8dc8d2f479058120.zip |
gperf: upgrade to 3.0.4
[Patches]
REMOVE _autoreconf.patch_: no need to duplicate acinclude.m4 in every subdirectory
[Recipe]
- Keep original 3.0.3 version for GPLv2 requirement. 3.0.4 has bumped to GPLv3+
- add gperf.inc for common lines
- instead of duplicating acinclude.m4 in every subdirectory, use " -I ${S}" to
ensure acinlude.m4 successfully found by m4_include
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/packages/gperf/gperf.inc | 22 | ||||
-rw-r--r-- | meta/packages/gperf/gperf/autoreconf.patch | 435 | ||||
-rw-r--r-- | meta/packages/gperf/gperf_3.0.3.bb | 15 | ||||
-rw-r--r-- | meta/packages/gperf/gperf_3.0.4.bb | 3 |
4 files changed, 29 insertions, 446 deletions
diff --git a/meta/packages/gperf/gperf.inc b/meta/packages/gperf/gperf.inc new file mode 100644 index 0000000000..a521e0943b --- /dev/null +++ b/meta/packages/gperf/gperf.inc @@ -0,0 +1,22 @@ +DESCRIPTION = "GNU gperf is a perfect hash function generator" +HOMEPAGE = "http://www.gnu.org/software/gperf" +SUMMARY = "Generate a perfect hash function from a set of keywords" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://src/main.cc;firstline=8;endline=19;md5=24688d2dff69bcf5cbea4bc3e4174c5a" + +SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz" + +inherit autotools + +# autoreconf couldn't find acinclude.m4 when stepping into subdirectory. Instead of +# duplicating acinclude.m4 in every subdirectory, use absolute include path to aclocal +EXTRA_AUTORECONF += " -I ${S}" + +do_configure_prepend() { + if [ ! -e acinclude.m4 ]; then + cat aclocal.m4 > acinclude.m4 + fi +} + +BBCLASSEXTEND = "native" diff --git a/meta/packages/gperf/gperf/autoreconf.patch b/meta/packages/gperf/gperf/autoreconf.patch deleted file mode 100644 index 432023067b..0000000000 --- a/meta/packages/gperf/gperf/autoreconf.patch +++ /dev/null @@ -1,435 +0,0 @@ -Index: gperf-3.0.3/configure.ac -=================================================================== ---- gperf-3.0.3.orig/configure.ac 2007-05-10 18:34:15.000000000 +0200 -+++ gperf-3.0.3/configure.ac 2007-05-10 18:34:26.000000000 +0200 -@@ -21,7 +21,7 @@ - dnl If not, write to the Free Software Foundation, Inc., - dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - --AC_PREREQ([2.60]) -+AC_PREREQ([2.59]) - AC_INIT(doc/gperf.1) - AC_PROG_MAKE_SET - AC_OBJEXT -Index: gperf-3.0.3/doc/configure.ac -=================================================================== ---- gperf-3.0.3.orig/doc/configure.ac 2007-05-10 18:34:30.000000000 +0200 -+++ gperf-3.0.3/doc/configure.ac 2007-05-10 18:34:37.000000000 +0200 -@@ -21,7 +21,7 @@ - dnl If not, write to the Free Software Foundation, Inc., - dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - --AC_PREREQ([2.60]) -+AC_PREREQ([2.59]) - AC_INIT(gperf.1) - PACKAGE=gperf - AC_SUBST(PACKAGE) -Index: gperf-3.0.3/lib/configure.ac -=================================================================== ---- gperf-3.0.3.orig/lib/configure.ac 2007-05-10 18:34:41.000000000 +0200 -+++ gperf-3.0.3/lib/configure.ac 2007-05-10 18:34:46.000000000 +0200 -@@ -21,7 +21,7 @@ - dnl If not, write to the Free Software Foundation, Inc., - dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - --AC_PREREQ([2.60]) -+AC_PREREQ([2.59]) - AC_INIT(hash.cc) - AC_PROG_MAKE_SET - dnl -Index: gperf-3.0.3/src/configure.ac -=================================================================== ---- gperf-3.0.3.orig/src/configure.ac 2007-05-10 18:34:53.000000000 +0200 -+++ gperf-3.0.3/src/configure.ac 2007-05-10 18:34:58.000000000 +0200 -@@ -21,7 +21,7 @@ - dnl If not, write to the Free Software Foundation, Inc., - dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - --AC_PREREQ([2.60]) -+AC_PREREQ([2.59]) - AC_INIT(main.cc) - AC_CONFIG_HEADER(config.h) - AC_PROG_MAKE_SET -Index: gperf-3.0.3/tests/configure.ac -=================================================================== ---- gperf-3.0.3.orig/tests/configure.ac 2007-05-10 18:35:03.000000000 +0200 -+++ gperf-3.0.3/tests/configure.ac 2007-05-10 18:35:08.000000000 +0200 -@@ -21,7 +21,7 @@ - dnl If not, write to the Free Software Foundation, Inc., - dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - --AC_PREREQ([2.60]) -+AC_PREREQ([2.59]) - AC_INIT(c-parse.gperf) - AC_PROG_MAKE_SET - dnl -Index: gperf-3.0.3/acinclude.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gperf-3.0.3/acinclude.m4 2007-05-10 18:36:09.000000000 +0200 -@@ -0,0 +1,69 @@ -+AC_PREREQ(2.12) -+ -+AC_DEFUN(CL_PROG_INSTALL, -+[dnl This is mostly copied from AC_PROG_INSTALL. -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+AC_MSG_CHECKING(for a BSD compatible install) -+if test -z "$INSTALL"; then -+AC_CACHE_VAL(cl_cv_path_install, -+[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ for ac_prog in ginstall installbsd scoinst install; do -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ # OSF/1 installbsd also uses dspmsg, but is usable. -+ : -+ else -+ if test $ac_prog = installbsd && -+ grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX installbsd doesn't work without option "-g". -+ : -+ else -+ cl_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_ifs" -+ # As a last resort, use cp. -+ test -z "$cl_cv_path_install" && cl_cv_path_install="cp" -+])dnl -+ INSTALL="$cl_cv_path_install" -+fi -+dnl We do special magic for INSTALL instead of AC_SUBST, to get -+dnl relative paths right. -+AC_MSG_RESULT($INSTALL) -+AC_SUBST(INSTALL)dnl -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='$(INSTALL)' -+AC_SUBST(INSTALL_PROGRAM)dnl -+if test -z "$INSTALL_DATA"; then -+ case "$INSTALL" in -+ cp | */cp ) INSTALL_DATA='$(INSTALL)' ;; -+ * ) INSTALL_DATA='$(INSTALL) -m 644' ;; -+ esac -+fi -+AC_SUBST(INSTALL_DATA)dnl -+]) -+ -Index: gperf-3.0.3/doc/acinclude.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gperf-3.0.3/doc/acinclude.m4 2007-05-10 18:36:11.000000000 +0200 -@@ -0,0 +1,69 @@ -+AC_PREREQ(2.12) -+ -+AC_DEFUN(CL_PROG_INSTALL, -+[dnl This is mostly copied from AC_PROG_INSTALL. -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+AC_MSG_CHECKING(for a BSD compatible install) -+if test -z "$INSTALL"; then -+AC_CACHE_VAL(cl_cv_path_install, -+[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ for ac_prog in ginstall installbsd scoinst install; do -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ # OSF/1 installbsd also uses dspmsg, but is usable. -+ : -+ else -+ if test $ac_prog = installbsd && -+ grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX installbsd doesn't work without option "-g". -+ : -+ else -+ cl_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_ifs" -+ # As a last resort, use cp. -+ test -z "$cl_cv_path_install" && cl_cv_path_install="cp" -+])dnl -+ INSTALL="$cl_cv_path_install" -+fi -+dnl We do special magic for INSTALL instead of AC_SUBST, to get -+dnl relative paths right. -+AC_MSG_RESULT($INSTALL) -+AC_SUBST(INSTALL)dnl -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='$(INSTALL)' -+AC_SUBST(INSTALL_PROGRAM)dnl -+if test -z "$INSTALL_DATA"; then -+ case "$INSTALL" in -+ cp | */cp ) INSTALL_DATA='$(INSTALL)' ;; -+ * ) INSTALL_DATA='$(INSTALL) -m 644' ;; -+ esac -+fi -+AC_SUBST(INSTALL_DATA)dnl -+]) -+ -Index: gperf-3.0.3/lib/acinclude.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gperf-3.0.3/lib/acinclude.m4 2007-05-10 18:36:14.000000000 +0200 -@@ -0,0 +1,69 @@ -+AC_PREREQ(2.12) -+ -+AC_DEFUN(CL_PROG_INSTALL, -+[dnl This is mostly copied from AC_PROG_INSTALL. -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+AC_MSG_CHECKING(for a BSD compatible install) -+if test -z "$INSTALL"; then -+AC_CACHE_VAL(cl_cv_path_install, -+[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ for ac_prog in ginstall installbsd scoinst install; do -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ # OSF/1 installbsd also uses dspmsg, but is usable. -+ : -+ else -+ if test $ac_prog = installbsd && -+ grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX installbsd doesn't work without option "-g". -+ : -+ else -+ cl_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_ifs" -+ # As a last resort, use cp. -+ test -z "$cl_cv_path_install" && cl_cv_path_install="cp" -+])dnl -+ INSTALL="$cl_cv_path_install" -+fi -+dnl We do special magic for INSTALL instead of AC_SUBST, to get -+dnl relative paths right. -+AC_MSG_RESULT($INSTALL) -+AC_SUBST(INSTALL)dnl -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='$(INSTALL)' -+AC_SUBST(INSTALL_PROGRAM)dnl -+if test -z "$INSTALL_DATA"; then -+ case "$INSTALL" in -+ cp | */cp ) INSTALL_DATA='$(INSTALL)' ;; -+ * ) INSTALL_DATA='$(INSTALL) -m 644' ;; -+ esac -+fi -+AC_SUBST(INSTALL_DATA)dnl -+]) -+ -Index: gperf-3.0.3/src/acinclude.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gperf-3.0.3/src/acinclude.m4 2007-05-10 18:36:12.000000000 +0200 -@@ -0,0 +1,69 @@ -+AC_PREREQ(2.12) -+ -+AC_DEFUN(CL_PROG_INSTALL, -+[dnl This is mostly copied from AC_PROG_INSTALL. -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+AC_MSG_CHECKING(for a BSD compatible install) -+if test -z "$INSTALL"; then -+AC_CACHE_VAL(cl_cv_path_install, -+[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ for ac_prog in ginstall installbsd scoinst install; do -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ # OSF/1 installbsd also uses dspmsg, but is usable. -+ : -+ else -+ if test $ac_prog = installbsd && -+ grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX installbsd doesn't work without option "-g". -+ : -+ else -+ cl_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_ifs" -+ # As a last resort, use cp. -+ test -z "$cl_cv_path_install" && cl_cv_path_install="cp" -+])dnl -+ INSTALL="$cl_cv_path_install" -+fi -+dnl We do special magic for INSTALL instead of AC_SUBST, to get -+dnl relative paths right. -+AC_MSG_RESULT($INSTALL) -+AC_SUBST(INSTALL)dnl -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='$(INSTALL)' -+AC_SUBST(INSTALL_PROGRAM)dnl -+if test -z "$INSTALL_DATA"; then -+ case "$INSTALL" in -+ cp | */cp ) INSTALL_DATA='$(INSTALL)' ;; -+ * ) INSTALL_DATA='$(INSTALL) -m 644' ;; -+ esac -+fi -+AC_SUBST(INSTALL_DATA)dnl -+]) -+ -Index: gperf-3.0.3/tests/acinclude.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gperf-3.0.3/tests/acinclude.m4 2007-05-10 18:36:16.000000000 +0200 -@@ -0,0 +1,69 @@ -+AC_PREREQ(2.12) -+ -+AC_DEFUN(CL_PROG_INSTALL, -+[dnl This is mostly copied from AC_PROG_INSTALL. -+# Find a good install program. We prefer a C program (faster), -+# so one script is as good as another. But avoid the broken or -+# incompatible versions: -+# SysV /etc/install, /usr/sbin/install -+# SunOS /usr/etc/install -+# IRIX /sbin/install -+# AIX /bin/install -+# AFS /usr/afsws/bin/install, which mishandles nonexistent args -+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -+# ./install, which can be erroneously created by make from ./install.sh. -+AC_MSG_CHECKING(for a BSD compatible install) -+if test -z "$INSTALL"; then -+AC_CACHE_VAL(cl_cv_path_install, -+[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; -+ *) -+ # OSF1 and SCO ODT 3.0 have their own names for install. -+ for ac_prog in ginstall installbsd scoinst install; do -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ # OSF/1 installbsd also uses dspmsg, but is usable. -+ : -+ else -+ if test $ac_prog = installbsd && -+ grep src/bos $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX installbsd doesn't work without option "-g". -+ : -+ else -+ cl_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_ifs" -+ # As a last resort, use cp. -+ test -z "$cl_cv_path_install" && cl_cv_path_install="cp" -+])dnl -+ INSTALL="$cl_cv_path_install" -+fi -+dnl We do special magic for INSTALL instead of AC_SUBST, to get -+dnl relative paths right. -+AC_MSG_RESULT($INSTALL) -+AC_SUBST(INSTALL)dnl -+# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -+# It thinks the first close brace ends the variable substitution. -+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='$(INSTALL)' -+AC_SUBST(INSTALL_PROGRAM)dnl -+if test -z "$INSTALL_DATA"; then -+ case "$INSTALL" in -+ cp | */cp ) INSTALL_DATA='$(INSTALL)' ;; -+ * ) INSTALL_DATA='$(INSTALL) -m 644' ;; -+ esac -+fi -+AC_SUBST(INSTALL_DATA)dnl -+]) -+ diff --git a/meta/packages/gperf/gperf_3.0.3.bb b/meta/packages/gperf/gperf_3.0.3.bb index e5e5cf10c9..5cccdf1adb 100644 --- a/meta/packages/gperf/gperf_3.0.3.bb +++ b/meta/packages/gperf/gperf_3.0.3.bb @@ -1,14 +1,7 @@ -DESCRIPTION = "GNU gperf is a perfect hash function generator" -HOMEPAGE = "http://www.gnu.org/software/gperf" -SUMMARY = "Generate a perfect hash function from a set of keywords" -# 3.0.4 change to GPLv3, but only native version is used -LICENSE = "GPLv2+" - -SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz \ - file://autoreconf.patch" +require gperf.inc -inherit autotools +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a5f84abb0070adf8a0925d7d534b6e0a \ + file://src/main.cc;firstline=8;endline=19;md5=3eab12ba436c4da725b19b131def6de9" PR = "r1" - -BBCLASSEXTEND = "native" diff --git a/meta/packages/gperf/gperf_3.0.4.bb b/meta/packages/gperf/gperf_3.0.4.bb new file mode 100644 index 0000000000..ee532c98d8 --- /dev/null +++ b/meta/packages/gperf/gperf_3.0.4.bb @@ -0,0 +1,3 @@ +require gperf.inc + +PR = "r0" |