diff options
author | Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | 2013-03-14 18:47:39 +0100 |
---|---|---|
committer | Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | 2013-03-14 18:49:18 +0100 |
commit | f12e88a590985ef253745f68238f0d0d1bc73f6a (patch) | |
tree | a66da7826fea80049ab4c7ac308126c03a35c3a4 /meta-aarch64 | |
parent | 6cf4b09ea9cee9e5e964f190f3c2bf004387d098 (diff) |
move our extra recipes from meta-aarch64 to meta-linaro
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Diffstat (limited to 'meta-aarch64')
28 files changed, 0 insertions, 1428 deletions
diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarf.inc b/meta-aarch64/recipes-extra/dwarfutils/dwarf.inc deleted file mode 100644 index 526f096b..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarf.inc +++ /dev/null @@ -1,12 +0,0 @@ -DEPENDS = "elfutils" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=db2a565b9d860834e0f2c9cf569fb4e5" - -SRC_URI = "http://reality.sgiweb.org/davea/libdwarf-${PV}.tar.gz" - -SRC_URI[md5sum] = "83ab49c58439254729f543be6977692b" -SRC_URI[sha256sum] = "c0aede3a7368c27572ae1cc403c4cbdbf6eeb91a05adbb6f41c40ed78b75cdd9" - -S = "${WORKDIR}/dwarf-${PV}/${BPN}" - -inherit autotools diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump/fix-dump.patch b/meta-aarch64/recipes-extra/dwarfutils/dwarfdump/fix-dump.patch deleted file mode 100644 index 45ca7a83..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump/fix-dump.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- - Makefile.in | 4 ++++ - 1 file changed, 4 insertions(+) - ---- dwarfdump.orig/Makefile.in -+++ dwarfdump/Makefile.in -@@ -104,14 +104,18 @@ naming.o: $(srcdir)/naming.c $(srcdir)/ - # in the tree builds. - trivial_naming.o: $(srcdir)/naming.c - $(CC) $(CFLAGS) -DTRIVIAL_NAMING -c $(srcdir)/naming.c -o trivial_naming.o - - tag_tree_build: $(srcdir)/tag_tree.c $(DIRINC)/dwarf.h $(HEADERS) tag_common.o makename.o common.o trivial_naming.o -+ifeq ($(NATIVE),1) - $(CC) $(CFLAGS) $(srcdir)/tag_tree.c tag_common.o common.o makename.o trivial_naming.o $(LDFLAGS) -o tag_tree_build -+endif - - tag_attr_build: $(srcdir)/tag_attr.c $(DIRINC)/dwarf.h $(HEADERS) tag_common.o makename.o common.o trivial_naming.o -+ifeq ($(NATIVE),1) - $(CC) $(CFLAGS) $(srcdir)/tag_attr.c tag_common.o common.o makename.o trivial_naming.o $(LDFLAGS) -o tag_attr_build -+endif - - tmp-tt-table.c tmp-tt-ext-table.c: $(srcdir)/tag_tree_ext.list $(srcdir)/tag_tree.list tag_tree_build - # gcc -E tag_tree.list does not work, so use a .c name - -rm -f tmp-t1.c - cp $(srcdir)/tag_tree.list tmp-t1.c diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2/fix-dump.patch b/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2/fix-dump.patch deleted file mode 100644 index 18ffe812..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2/fix-dump.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - Makefile.in | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - ---- dwarfdump2.orig/Makefile.in -+++ dwarfdump2/Makefile.in -@@ -100,14 +100,17 @@ common.o: $(srcdir)/common.cc $(srcdir) - # in the tree builds. - trivial_naming.o: $(srcdir)/naming.cc - $(CXX) $(CXXFLAGS) -DTRIVIAL_NAMING -c $(srcdir)/naming.cc -o trivial_naming.o - - tag_tree_build: $(srcdir)/tag_tree.cc $(DIRINC)/dwarf.h $(HEADERS) tag_common.o trivial_naming.o common.o -- $(CXX) $(CXXFLAGS) $(srcdir)/tag_tree.cc trivial_naming.o tag_common.o common.o $(LDFLAGS) -o tag_tree_build -- -+ifeq ($(NATIVE),1) -+ $(CXX) $(CXXFLAGS) $(srcdir)/tag_tree.cc trivial_naming.o tag_common.o common.o $(LDFLAGS) -o tag_tree_build -+endif - tag_attr_build: $(srcdir)/tag_attr.cc $(DIRINC)/dwarf.h $(HEADERS) trivial_naming.o tag_common.o naming.o common.o -- $(CXX) $(CXXFLAGS) $(srcdir)/tag_attr.cc trivial_naming.o tag_common.o common.o $(LDFLAGS) -o tag_attr_build -+ifeq ($(NATIVE),1) -+ $(CXX) $(CXXFLAGS) $(srcdir)/tag_attr.cc trivial_naming.o tag_common.o common.o $(LDFLAGS) -o tag_attr_build -+endif - - tmp-tt-table.cc tmp-tt-ext-table.cc: $(srcdir)/tag_tree_ext.list $(srcdir)/tag_tree.list tag_tree_build - # gcc -E tag_tree.list does not work, so use a .cc name - -rm -f tmp-t1.cc - cp $(srcdir)/tag_tree.list tmp-t1.cc diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2_20121130.bb b/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2_20121130.bb deleted file mode 100644 index 10999d61..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump2_20121130.bb +++ /dev/null @@ -1,22 +0,0 @@ -require dwarf.inc - -DEPENDS = "libdwarf libdwarf-native" - -LIC_FILES_CHKSUM = "file://GPL.txt;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI += "file://fix-dump.patch" - -do_compile_prepend() { - oe_runmake CXX="${BUILD_CXX}" \ - CXXFLAGS="${BUILD_CXXFLAGS} -I${S}/../libdwarf/ -I." \ - LDFLAGS="${BUILD_LDFLAGS} -ldwarf -lelf" NATIVE=1 - rm *.o dwarfdump -} - -do_install() { - install -d ${D}${bindir} ${D}${mandir}/man1 - install -m 0755 dwarfdump ${D}${bindir} - install -m 0644 dwarfdump.1 ${D}${mandir}/man1 -} - -PARALLEL_MAKE = "" diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump_20121130.bb b/meta-aarch64/recipes-extra/dwarfutils/dwarfdump_20121130.bb deleted file mode 100644 index 1befb314..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarfdump_20121130.bb +++ /dev/null @@ -1,22 +0,0 @@ -require dwarf.inc - -DEPENDS = "libdwarf libdwarf-native" - -LIC_FILES_CHKSUM = "file://GPL.txt;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI += "file://fix-dump.patch" - -do_compile_prepend() { - oe_runmake CC="${BUILD_CC}" \ - CFLAGS="${BUILD_CFLAGS} -I${S}/../libdwarf/ -I." \ - LDFLAGS="${BUILD_LDFLAGS} -ldwarf -lelf" NATIVE=1 - rm *.o dwarfdump -} - -do_install() { - install -d ${D}${bindir} ${D}${mandir}/man1 - install -m 0755 dwarfdump ${D}${bindir} - install -m 0644 dwarfdump.1 ${D}${mandir}/man1 -} - -PARALLEL_MAKE = "" diff --git a/meta-aarch64/recipes-extra/dwarfutils/dwarfgen_20121130.bb b/meta-aarch64/recipes-extra/dwarfutils/dwarfgen_20121130.bb deleted file mode 100644 index 97d3b2fe..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/dwarfgen_20121130.bb +++ /dev/null @@ -1,13 +0,0 @@ -require dwarf.inc - -DEPENDS = "libdwarf libdwarf-native" - -LIC_FILES_CHKSUM = "file://GPL.txt;md5=751419260aa954499f7abaabaa882bbe" - -do_install() { - install -d ${D}${bindir} ${D}${mandir}/man1 - install -m 0755 ${BPN} ${D}${bindir} - install -m 0644 ${BPN}.1 ${D}${mandir}/man1 -} - -PARALLEL_MAKE = "" diff --git a/meta-aarch64/recipes-extra/dwarfutils/libdwarf/fix-gennames.patch b/meta-aarch64/recipes-extra/dwarfutils/libdwarf/fix-gennames.patch deleted file mode 100644 index 901409d8..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/libdwarf/fix-gennames.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- libdwarf.orig/Makefile.in -+++ libdwarf/Makefile.in -@@ -135,13 +135,13 @@ libdwarf.so: dwarf_names.h dwarf_names.c - $(CC) $(CFLAGS) -shared $(OBJS) dwarf_names.o -o $@ - - none: - echo "do nothing" - common.o: $(srcdir)/common.c $(srcdir)/common.h -- $(CC) $(CFLAGS) -c $(srcdir)/common.c -+ $(BUILD_CC) $(BUILD_CFLAGS) -c $(srcdir)/common.c - gennames: $(srcdir)/gennames.c $(srcdir)/dwarf.h common.o -- $(CC) $(CFLAGS) $(srcdir)/gennames.c common.o $(LDFLAGS) -o gennames -+ $(BUILD_CC) $(BUILD_CFLAGS) $(srcdir)/gennames.c common.o $(BUILD_LDFLAGS) -o gennames - dwarf_names.c dwarf_names.h: gennames $(srcdir)/dwarf.h - rm -f dwarf_names.h dwarf_names.c - ./gennames @dwarf_namestable@ -i $(srcdir) -o . - - diff --git a/meta-aarch64/recipes-extra/dwarfutils/libdwarf_20121130.bb b/meta-aarch64/recipes-extra/dwarfutils/libdwarf_20121130.bb deleted file mode 100644 index 4b59b381..00000000 --- a/meta-aarch64/recipes-extra/dwarfutils/libdwarf_20121130.bb +++ /dev/null @@ -1,13 +0,0 @@ -require dwarf.inc - -SRC_URI += "file://fix-gennames.patch" - -do_install() { - install -d ${D}${libdir} ${D}${includedir}/libdwarf - install -m 0755 libdwarf.a ${D}${libdir} - install -m 0644 dwarf.h libdwarf.h ${D}${includedir}/libdwarf -} - -ALLOW_EMPTY_${PN} = "1" - -BBCLASSEXTEND = "native" diff --git a/meta-aarch64/recipes-extra/google-glog/google-glog_svn.bb b/meta-aarch64/recipes-extra/google-glog/google-glog_svn.bb deleted file mode 100644 index b70aa82e..00000000 --- a/meta-aarch64/recipes-extra/google-glog/google-glog_svn.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "The glog library implements application-level logging. This \ -library provides logging APIs based on C++-style streams and various helper \ -macros." -HOMEPAGE = "https://code.google.com/p/google-glog/" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b" - -SRC_URI = "svn://google-glog.googlecode.com/svn/;module=trunk;protocol=http" - -SRCREV = "${AUTOREV}" - -PV = "0.3.2+svn${SRCPV}" - -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig diff --git a/meta-aarch64/recipes-extra/google-perftools/gperftools_2.0.bb b/meta-aarch64/recipes-extra/google-perftools/gperftools_2.0.bb deleted file mode 100644 index 17177529..00000000 --- a/meta-aarch64/recipes-extra/google-perftools/gperftools_2.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Fast, multi-threaded malloc() and nifty performance analysis tools" -HOMEPAGE = "http://code.google.com/p/gperftools/" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" - -SRC_URI = "${DEBIAN_MIRROR}/main/g/google-perftools/google-perftools_${PV}.orig.tar.gz" - -SRC_URI[md5sum] = "13f6e8961bc6a26749783137995786b6" -SRC_URI[sha256sum] = "7de3dd91f018825b1e7d332af1edace15c6211f430186febede1835069861080" - -inherit autotools diff --git a/meta-aarch64/recipes-extra/hiphopvm/files/disable-not-available-for-aarch64.patch b/meta-aarch64/recipes-extra/hiphopvm/files/disable-not-available-for-aarch64.patch deleted file mode 100644 index 3fde2f86..00000000 --- a/meta-aarch64/recipes-extra/hiphopvm/files/disable-not-available-for-aarch64.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - CMake/HPHPFindLibs.cmake | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - ---- git.orig/CMake/HPHPFindLibs.cmake -+++ git/CMake/HPHPFindLibs.cmake -@@ -43,12 +43,12 @@ find_package(Libinotify) - if (LIBINOTIFY_INCLUDE_DIR) - include_directories(${LIBINOTIFY_INCLUDE_DIR}) - endif() - - # unwind checks --find_package(Libunwind REQUIRED) --include_directories(${LIBUNWIND_INCLUDE_DIR}) -+# find_package(Libunwind REQUIRED) -+# include_directories(${LIBUNWIND_INCLUDE_DIR}) - - # iconv checks - find_package(Libiconv REQUIRED) - include_directories(${LIBICONV_INCLUDE_DIR}) - if (LIBICONV_CONST) diff --git a/meta-aarch64/recipes-extra/hiphopvm/hiphopvm_git.bb b/meta-aarch64/recipes-extra/hiphopvm/hiphopvm_git.bb deleted file mode 100644 index d837dcbd..00000000 --- a/meta-aarch64/recipes-extra/hiphopvm/hiphopvm_git.bb +++ /dev/null @@ -1,61 +0,0 @@ -DEPENDS = " \ -binutils \ -bison-native \ -boost \ -bzip2 \ -cmake \ -elfutils \ -expat \ -flex-native \ -gd \ -google-glog \ -icu \ -libcap \ -libc-client \ -libdwarf \ -libevent-fb \ -libmcrypt \ -libmemcached \ -libxml2 \ -mysql5 \ -ncurses \ -onig \ -openldap \ -openssl \ -libpam \ -pcre \ -readline \ -zlib \ -tbb \ -" - -# optional (for now) dependencies: -#DEPENDS += "libunwind google-perftools" - -LICENSE = "PHP Zend" - -LIC_FILES_CHKSUM = " \ - file://LICENSE.PHP;md5=cb564efdf78cce8ea6e4b5a4f7c05d97 \ - file://LICENSE.ZEND;md5=69e7a9c51846dd6692f1b946f95f6c60" - -SRC_URI = "git://github.com/facebook/hiphop-php.git \ - file://disable-not-available-for-aarch64.patch" - -SRCREV = "${AUTOREV}" - -S = "${WORKDIR}/git" - -PV = "0.0+git${SRCPV}" -PR = "r1" - -do_configure_prepend() { - export HPHP_HOME="${B}" - export HPHP_LIB="${B}"/bin - export USE_HHVM=1 - export BOOST_INCLUDEDIR=${STAGING_INCDIR} - export BOOST_LIBRARYDIR=${STAGING_LIBDIR} - export LIBGLOG_INCLUDE_DIR=${STAGING_INCDIR} - export LIBGLOG_LIBRARY=${STAGING_LIBDIR} -} - -inherit cmake diff --git a/meta-aarch64/recipes-extra/libevent/files/LICENSE.txt b/meta-aarch64/recipes-extra/libevent/files/LICENSE.txt deleted file mode 100644 index 5a315e47..00000000 --- a/meta-aarch64/recipes-extra/libevent/files/LICENSE.txt +++ /dev/null @@ -1,74 +0,0 @@ -Libevent is available for use under the following license, commonly known -as the 3-clause (or "modified") BSD license: - -============================== -Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu> -Copyright (c) 2007-2010 Niels Provos and Nick Mathewson - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -============================== - -Portions of Libevent are based on works by others, also made available by -them under the three-clause BSD license above. The copyright notices are -available in the corresponding source files; the license is as above. Here's -a list: - -log.c: - Copyright (c) 2000 Dug Song <dugsong@monkey.org> - Copyright (c) 1993 The Regents of the University of California. - -strlcpy.c: - Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> - -win32select.c: - Copyright (c) 2003 Michael A. Davis <mike@datanerds.net> - -evport.c: - Copyright (c) 2007 Sun Microsystems - -ht-internal.h: - Copyright (c) 2002 Christopher Clark - -minheap-internal.h: - Copyright (c) 2006 Maxim Yegorushkin <maxim.yegorushkin@gmail.com> - -============================== - -The arc4module is available under the following, sometimes called the -"OpenBSD" license: - - Copyright (c) 1996, David Mazieres <dm@uun.org> - Copyright (c) 2008, Damien Miller <djm@openbsd.org> - - Permission to use, copy, modify, and distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - diff --git a/meta-aarch64/recipes-extra/libevent/files/libevent-1.4.14.fb-changes.diff b/meta-aarch64/recipes-extra/libevent/files/libevent-1.4.14.fb-changes.diff deleted file mode 100644 index 0f29aac2..00000000 --- a/meta-aarch64/recipes-extra/libevent/files/libevent-1.4.14.fb-changes.diff +++ /dev/null @@ -1,611 +0,0 @@ -diff --git a/event.c b/event.c -index 74ba5c4..06984b8 100644 ---- a/event.c -+++ b/event.c -@@ -138,10 +138,12 @@ detect_monotonic(void) - static int - gettime(struct event_base *base, struct timeval *tp) - { -+/* - if (base->tv_cache.tv_sec) { - *tp = base->tv_cache; - return (0); - } -+*/ - - #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC) - if (use_monotonic) { -@@ -481,7 +483,7 @@ event_base_loop(struct event_base *base, int flags) - int res, done; - - /* clear time cache */ -- base->tv_cache.tv_sec = 0; -+ /* base->tv_cache.tv_sec = 0; */ - - if (base->sig.ev_signal_added) - evsignal_base = base; -@@ -533,13 +535,13 @@ event_base_loop(struct event_base *base, int flags) - gettime(base, &base->event_tv); - - /* clear time cache */ -- base->tv_cache.tv_sec = 0; -+ /* base->tv_cache.tv_sec = 0; */ - - res = evsel->dispatch(base, evbase, tv_p); - - if (res == -1) - return (-1); -- gettime(base, &base->tv_cache); -+ /* gettime(base, &base->tv_cache); */ - - timeout_process(base); - -@@ -552,7 +554,7 @@ event_base_loop(struct event_base *base, int flags) - } - - /* clear time cache */ -- base->tv_cache.tv_sec = 0; -+ /* base->tv_cache.tv_sec = 0; */ - - event_debug(("%s: asked to terminate loop.", __func__)); - return (0); -diff --git a/evhttp.h b/evhttp.h -index 7ddf720..13c8b79 100644 ---- a/evhttp.h -+++ b/evhttp.h -@@ -81,12 +81,50 @@ struct evhttp *evhttp_new(struct event_base *base); - * @param http a pointer to an evhttp object - * @param address a string containing the IP address to listen(2) on - * @param port the port number to listen on -- * @return a newly allocated evhttp struct -+ * @return 0 on success, -1 on error - * @see evhttp_free() - */ - int evhttp_bind_socket(struct evhttp *http, const char *address, u_short port); - - /** -+ * Binds an HTTP server on the specified address and port, using backlog. -+ * -+ * Can be called multiple times to bind the same http server -+ * to multiple different ports. -+ * -+ * @param http a pointer to an evhttp object -+ * @param address a string containing the IP address to listen(2) on -+ * @param port the port number to listen on -+ * @param backlog the backlog value for listen(2) -+ * @return 0 on success, -1 on error -+ * @see evhttp_free() -+ */ -+int evhttp_bind_socket_backlog(struct evhttp *http, const char *address, u_short port, int backlog); -+ -+/** -+ * Like evhttp_bind_socket(), but returns the socket file descriptor. -+ * -+ * @param http a pointer to an evhttp object -+ * @param address a string containing the IP address to listen(2) on -+ * @param port the port number to listen on -+ * @return Socket file descriptor on success, -1 on failure -+ * @see evhttp_bind_socket() -+ */ -+int evhttp_bind_socket_with_fd(struct evhttp *http, const char *address, u_short port); -+ -+/** -+ * Like evhttp_bind_socket(), but returns the socket file descriptor. -+ * -+ * @param http a pointer to an evhttp object -+ * @param address a string containing the IP address to listen(2) on -+ * @param port the port number to listen on -+ * @param backlog the backlog value for listen(2) -+ * @return Socket file descriptor on success, -1 on failure -+ * @see evhttp_bind_socket() -+ */ -+int evhttp_bind_socket_backlog_fd(struct evhttp *http, const char *address, u_short port, int backlog); -+ -+/** - * Makes an HTTP server accept connections on the specified socket - * - * This may be useful to create a socket and then fork multiple instances -@@ -105,6 +143,21 @@ int evhttp_bind_socket(struct evhttp *http, const char *address, u_short port); - int evhttp_accept_socket(struct evhttp *http, int fd); - - /** -+ * Makes an HTTP server stop accepting connections on the specified socket -+ * -+ * This may be useful when a socket has been sent via file descriptor passing -+ * and is no longer needed by the current process. -+ * -+ * This function does not close the socket. -+ * -+ * @param http a pointer to an evhttp object -+ * @param fd a socket fd that is currently accepting connections -+ * @return 0 on success, -1 on failure. -+ * @see evhttp_accept_socket() -+ */ -+int evhttp_del_accept_socket(struct evhttp *http, int fd); -+ -+/** - * Free the previously created HTTP server. - * - * Works only if no requests are currently being served. -@@ -134,6 +187,28 @@ void evhttp_set_gencb(struct evhttp *, - */ - void evhttp_set_timeout(struct evhttp *, int timeout_in_secs); - -+/** -+ * Limit the number of simultaneous connections via this http instance. -+ * -+ * @param http an evhttp object -+ * @param nlimit the maximum number of connections, zero is unlimited -+ */ -+int evhttp_set_connection_limit(struct evhttp *http, int nlimit); -+ -+/** -+ * Return the maximum number of connections allowed for this instance. -+ * -+ * @param http an evhttp object -+ */ -+int evhttp_get_connection_limit(struct evhttp *http); -+ -+/** -+ * Return the number of connections in this instance. -+ * -+ * @param http an evhttp object -+ */ -+int evhttp_get_connection_count(struct evhttp *http); -+ - /* Request/Response functionality */ - - /** -@@ -157,6 +232,19 @@ void evhttp_send_error(struct evhttp_request *req, int error, - void evhttp_send_reply(struct evhttp_request *req, int code, - const char *reason, struct evbuffer *databuf); - -+/** -+ * Send an HTML reply synchronously as much as possible by calling _begin(). -+ * Great for a worker thread to send the reply immediately without queuing up -+ * events back to the loop. Call _end() to send the rest of the packet from -+ * event loop. -+ * -+ * When _begin() returns needs to be fed into _end() as the 1st parameter -+ * "nwritten". -+ */ -+int evhttp_send_reply_sync_begin(struct evhttp_request *req, int code, -+ const char *reason, struct evbuffer *databuf); -+void evhttp_send_reply_sync_end(int nwritten, struct evhttp_request *req); -+ - /* Low-level response interface, for streaming/chunked replies */ - void evhttp_send_reply_start(struct evhttp_request *, int, const char *); - void evhttp_send_reply_chunk(struct evhttp_request *, struct evbuffer *); -@@ -210,6 +298,7 @@ struct { - - enum evhttp_request_kind kind; - enum evhttp_cmd_type type; -+ char *ext_method; /* webdav methods, for example */ - - char *uri; /* uri after HTTP request was parsed */ - -@@ -224,6 +313,8 @@ struct { - int chunked:1, /* a chunked request */ - userdone:1; /* the user has sent all data */ - -+ int referenced; -+ - struct evbuffer *output_buffer; /* outgoing post or data */ - - /* Callback */ -diff --git a/http-internal.h b/http-internal.h -index 9cd03cd..3f60f54 100644 ---- a/http-internal.h -+++ b/http-internal.h -@@ -116,6 +116,9 @@ struct evhttp { - TAILQ_HEAD(httpcbq, evhttp_cb) callbacks; - struct evconq connections; - -+ int connection_count; -+ int connection_limit; -+ - int timeout; - - void (*gencb)(struct evhttp_request *req, void *); -diff --git a/http.c b/http.c -index efcec40..e10d114 100644 ---- a/http.c -+++ b/http.c -@@ -219,6 +219,13 @@ static int evhttp_decode_uri_internal(const char *uri, size_t length, - void evhttp_read(int, short, void *); - void evhttp_write(int, short, void *); - -+ -+void evhttp_server_drop_connection(struct evhttp_connection *evcon); -+void evhttp_server_add_connection(struct evhttp *http, -+ struct evhttp_connection *evcon); -+void evhttp_pause(struct evhttp *http); -+void evhttp_resume(struct evhttp *http); -+ - #ifndef HAVE_STRSEP - /* strsep replacement for platforms that lack it. Only works if - * del is one character long. */ -@@ -478,7 +485,6 @@ evhttp_make_header_response(struct evhttp_connection *evcon, - evhttp_add_header(req->output_headers, - "Connection", "keep-alive"); - -- if (req->minor == 1 || is_keepalive) { - /* - * we need to add the content length if the - * user did not give it, this is required for -@@ -488,7 +494,6 @@ evhttp_make_header_response(struct evhttp_connection *evcon, - req->output_headers, - (long)EVBUFFER_LENGTH(req->output_buffer)); - } -- } - - /* Potentially add headers for unidentified content. */ - if (EVBUFFER_LENGTH(req->output_buffer)) { -@@ -687,14 +692,14 @@ void - evhttp_write(int fd, short what, void *arg) - { - struct evhttp_connection *evcon = arg; -- int n; - - if (what == EV_TIMEOUT) { - evhttp_connection_fail(evcon, EVCON_HTTP_TIMEOUT); - return; - } - -- n = evbuffer_write(evcon->output_buffer, fd); -+ if (EVBUFFER_LENGTH(evcon->output_buffer) != 0) { -+ int n = evbuffer_write(evcon->output_buffer, fd); - if (n == -1) { - event_debug(("%s: evbuffer_write", __func__)); - evhttp_connection_fail(evcon, EVCON_HTTP_EOF); -@@ -706,6 +711,7 @@ evhttp_write(int fd, short what, void *arg) - evhttp_connection_fail(evcon, EVCON_HTTP_EOF); - return; - } -+ } - - if (EVBUFFER_LENGTH(evcon->output_buffer) != 0) { - evhttp_add_event(&evcon->ev, -@@ -1012,11 +1018,9 @@ evhttp_connection_free(struct evhttp_connection *evcon) - TAILQ_REMOVE(&evcon->requests, req, next); - evhttp_request_free(req); - } -- -- if (evcon->http_server != NULL) { -- struct evhttp *http = evcon->http_server; -- TAILQ_REMOVE(&http->connections, evcon, next); -- } -+ -+ if (evcon->http_server != NULL) -+ evhttp_server_drop_connection(evcon); - - if (event_initialized(&evcon->close_ev)) - event_del(&evcon->close_ev); -@@ -1101,10 +1105,16 @@ evhttp_connection_reset(struct evhttp_connection *evcon) - } - evcon->state = EVCON_DISCONNECTED; - -- evbuffer_drain(evcon->input_buffer, -- EVBUFFER_LENGTH(evcon->input_buffer)); -- evbuffer_drain(evcon->output_buffer, -- EVBUFFER_LENGTH(evcon->output_buffer)); -+ /* -+ * These can grow quite large if processing a large photo or video -+ * upload/download. Instead of keeping the buffers around, just -+ * free and allocate new. -+ */ -+ evbuffer_free(evcon->input_buffer); -+ evcon->input_buffer = evbuffer_new(); -+ -+ evbuffer_free(evcon->output_buffer); -+ evcon->output_buffer = evbuffer_new(); - } - - static void -@@ -1278,19 +1288,52 @@ evhttp_parse_request_line(struct evhttp_request *req, char *line) - if (line == NULL) - return (-1); - uri = strsep(&line, " "); -- if (line == NULL) -- return (-1); -+ if (line == NULL) { -+ version = "HTTP/1.0"; -+ } else { - version = strsep(&line, " "); - if (line != NULL) - return (-1); -+ } - - /* First line */ -+ req->ext_method = NULL; - if (strcmp(method, "GET") == 0) { - req->type = EVHTTP_REQ_GET; - } else if (strcmp(method, "POST") == 0) { - req->type = EVHTTP_REQ_POST; - } else if (strcmp(method, "HEAD") == 0) { - req->type = EVHTTP_REQ_HEAD; -+ } else if (strcmp(method, "OPTIONS") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "OPTIONS"; -+ } else if (strcmp(method, "REPORT") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "REPORT"; -+ } else if (strcmp(method, "PROPFIND") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "PROPFIND"; -+ } else if (strcmp(method, "PROPPATH") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "PROPPATH"; -+ } else if (strcmp(method, "MKCOL") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "MKCOL"; -+ } else if (strcmp(method, "MKCALENDAR") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "MKCALENDAR"; -+ } else if (strcmp(method, "PUT") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "PUT"; -+ } else if (strcmp(method, "DELETE") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "DELETE"; -+ } else if (strcmp(method, "LOCK") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "LOCK"; -+ } else if (strcmp(method, "UNLOCK") == 0) { -+ req->type = EVHTTP_REQ_POST; -+ req->ext_method = "UNLOCK"; - } else { - event_debug(("%s: bad method %s on request %p from %s", - __func__, method, req, req->remote_host)); -@@ -1963,10 +2006,44 @@ evhttp_send_reply(struct evhttp_request *req, int code, const char *reason, - evhttp_send(req, databuf); - } - -+int -+evhttp_send_reply_sync_begin(struct evhttp_request *req, int code, -+ const char *reason, struct evbuffer *databuf) { -+ evhttp_response_code(req, code, reason); -+ struct evhttp_connection *evcon = req->evcon; -+ -+ assert(TAILQ_FIRST(&evcon->requests) == req); -+ -+ /* xxx: not sure if we really should expose the data buffer this way */ -+ if (databuf != NULL) -+ evbuffer_add_buffer(req->output_buffer, databuf); -+ -+ /* Adds headers to the response */ -+ evhttp_make_header(evcon, req); -+ -+ return evbuffer_write(evcon->output_buffer, evcon->fd); -+} -+ -+void -+evhttp_send_reply_sync_end(int nwritten, struct evhttp_request *req) { -+ struct evhttp_connection *evcon = req->evcon; -+ -+ if (nwritten <= 0) { -+ evhttp_connection_fail(evcon, EVCON_HTTP_EOF); -+ } else if (EVBUFFER_LENGTH(evcon->output_buffer) == 0) { -+ evhttp_send_done(evcon, NULL); -+ } else { -+ evhttp_write_buffer(evcon, evhttp_send_done, NULL); -+ } -+} -+ -+ - void - evhttp_send_reply_start(struct evhttp_request *req, int code, - const char *reason) - { -+ req->referenced = 1; -+ - evhttp_response_code(req, code, reason); - if (req->major == 1 && req->minor == 1) { - /* use chunked encoding for HTTP/1.1 */ -@@ -1986,6 +2063,8 @@ evhttp_send_reply_chunk(struct evhttp_request *req, struct evbuffer *databuf) - if (evcon == NULL) - return; - -+ if (req->referenced < 0) return; -+ - if (req->chunked) { - evbuffer_add_printf(evcon->output_buffer, "%x\r\n", - (unsigned)EVBUFFER_LENGTH(databuf)); -@@ -2007,7 +2086,14 @@ evhttp_send_reply_end(struct evhttp_request *req) - return; - } - -- /* we expect no more calls form the user on this request */ -+ if (req->referenced < 0) { -+ req->referenced = 0; -+ evhttp_request_free(req); -+ return; -+ } -+ req->referenced = 0; -+ -+ /* we expect no more calls form the user on this request */ - req->userdone = 1; - - if (req->chunked) { -@@ -2293,7 +2379,8 @@ accept_socket(int fd, short what, void *arg) - } - - int --evhttp_bind_socket(struct evhttp *http, const char *address, u_short port) -+evhttp_bind_socket_backlog_fd(struct evhttp *http, const char *address, -+ u_short port, int backlog) - { - int fd; - int res; -@@ -2301,7 +2388,7 @@ evhttp_bind_socket(struct evhttp *http, const char *address, u_short port) - if ((fd = bind_socket(address, port, 1 /*reuse*/)) == -1) - return (-1); - -- if (listen(fd, 128) == -1) { -+ if (listen(fd, backlog) == -1) { - event_warn("%s: listen", __func__); - EVUTIL_CLOSESOCKET(fd); - return (-1); -@@ -2309,13 +2396,42 @@ evhttp_bind_socket(struct evhttp *http, const char *address, u_short port) - - res = evhttp_accept_socket(http, fd); - -- if (res != -1) -+ if (res != -1) { - event_debug(("Bound to port %d - Awaiting connections ... ", - port)); -+ return (fd); -+ } - - return (res); - } - -+static int -+mask_fd(int fd) -+{ -+ return fd > 0 ? 0 : fd; -+} -+ -+int -+evhttp_bind_socket(struct evhttp *http, const char *address, u_short port) -+{ -+ return mask_fd(evhttp_bind_socket_backlog_fd(http, address, port, 128)); -+} -+ -+int -+evhttp_bind_socket_with_fd(struct evhttp *http, const char *address, -+ u_short port) -+{ -+ return evhttp_bind_socket_backlog_fd(http, address, port, 128); -+} -+ -+int -+evhttp_bind_socket_backlog(struct evhttp *http, const char *address, -+ u_short port, int backlog) -+{ -+ return mask_fd( -+ evhttp_bind_socket_backlog_fd(http, address, port, backlog)); -+} -+ - int - evhttp_accept_socket(struct evhttp *http, int fd) - { -@@ -2345,6 +2461,25 @@ evhttp_accept_socket(struct evhttp *http, int fd) - return (0); - } - -+int -+evhttp_del_accept_socket(struct evhttp *http, int fd) -+{ -+ struct evhttp_bound_socket *bound; -+ TAILQ_FOREACH(bound, &http->sockets, next) { -+ if (bound->bind_ev.ev_fd == fd) -+ break; -+ } -+ -+ if (bound == NULL) -+ return (-1); -+ -+ TAILQ_REMOVE(&http->sockets, bound, next); -+ event_del(&bound->bind_ev); -+ free(bound); -+ -+ return (0); -+} -+ - static struct evhttp* - evhttp_new_object(void) - { -@@ -2527,6 +2662,11 @@ evhttp_request_new(void (*cb)(struct evhttp_request *, void *), void *arg) - void - evhttp_request_free(struct evhttp_request *req) - { -+ if (req->referenced) { -+ req->referenced = -1; -+ return; -+ } -+ - if (req->remote_host != NULL) - free(req->remote_host); - if (req->uri != NULL) -@@ -2657,13 +2797,78 @@ evhttp_get_request(struct evhttp *http, int fd, - * if we want to accept more than one request on a connection, - * we need to know which http server it belongs to. - */ -- evcon->http_server = http; -- TAILQ_INSERT_TAIL(&http->connections, evcon, next); -+ -+ evhttp_server_add_connection(http, evcon); - - if (evhttp_associate_new_request_with_connection(evcon) == -1) - evhttp_connection_free(evcon); - } - -+void -+evhttp_pause(struct evhttp *http) -+{ -+ struct evhttp_bound_socket *bound; -+ TAILQ_FOREACH(bound, &http->sockets, next) { -+ event_del(&bound->bind_ev); -+ } -+} -+ -+void -+evhttp_resume(struct evhttp *http) -+{ -+ struct evhttp_bound_socket *bound; -+ TAILQ_FOREACH(bound, &http->sockets, next) { -+ event_add(&bound->bind_ev, 0); -+ } -+} -+ -+int -+evhttp_get_connection_limit(struct evhttp *http) -+{ -+ return http->connection_limit; -+} -+ -+int -+evhttp_set_connection_limit(struct evhttp *http, int nlimit) -+{ -+ int olimit = http->connection_limit; -+ http->connection_limit = nlimit; -+ return olimit; -+} -+ -+int -+evhttp_get_connection_count(struct evhttp *http) -+{ -+ return http != NULL ? http->connection_count : 0; -+} -+ -+void -+evhttp_server_add_connection(struct evhttp *http, -+ struct evhttp_connection *evcon) -+{ -+ evcon->http_server = http; -+ TAILQ_INSERT_TAIL(&http->connections, evcon, next); -+ -+ http->connection_count++; -+ if (http->connection_limit > 0 -+ && http->connection_count >= http->connection_limit) -+ { -+ evhttp_pause(http); -+ } -+} -+ -+void -+evhttp_server_drop_connection(struct evhttp_connection *evcon) -+{ -+ struct evhttp *http = evcon->http_server; -+ TAILQ_REMOVE(&http->connections, evcon, next); -+ http->connection_count--; -+ if (http->connection_limit > 0 -+ && http->connection_count < http->connection_limit) -+ { -+ evhttp_resume(http); -+ } -+} - - /* - * Network helper functions that we do not want to export to the rest of diff --git a/meta-aarch64/recipes-extra/libevent/libevent-fb_1.4.14b.bb b/meta-aarch64/recipes-extra/libevent/libevent-fb_1.4.14b.bb deleted file mode 100644 index fda03907..00000000 --- a/meta-aarch64/recipes-extra/libevent/libevent-fb_1.4.14b.bb +++ /dev/null @@ -1,20 +0,0 @@ -require recipes-support/libevent/libevent_2.0.21.bb - -PROVIDES = "libevent" - -INC_PR = "1" - -SRC_URI = "http://github.com/downloads/libevent/libevent/libevent-${PV}-stable.tar.gz;name=archive \ - http://libevent.org/LICENSE.txt;name=license \ - file://libevent-1.4.14.fb-changes.diff" - -SRC_URI[archive.md5sum] = "a00e037e4d3f9e4fe9893e8a2d27918c" -SRC_URI[archive.sha256sum] = "afa61b476a222ba43fc7cca2d24849ab0bbd940124400cb699915d3c60e46301" - -SRC_URI[license.md5sum] = "412e611443304db6a338ab32728ae297" -SRC_URI[license.sha256sum] = "55739d5492273a7058c66b682012330a84c34eaa666f5c7030b0312573235270" - - -S = "${WORKDIR}/libevent-${PV}-stable/" - -LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE.txt;md5=412e611443304db6a338ab32728ae297" diff --git a/meta-aarch64/recipes-extra/libmcrypt/libmcrypt_2.5.8.bb b/meta-aarch64/recipes-extra/libmcrypt/libmcrypt_2.5.8.bb deleted file mode 100644 index 0cbe189f..00000000 --- a/meta-aarch64/recipes-extra/libmcrypt/libmcrypt_2.5.8.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Replacement for the old crypt() package and crypt(1) command, with extensions." -HOMEPAGE = "http://mcrypt.sourceforge.net/" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/mcrypt/Libmcrypt/${PV}/libmcrypt-${PV}.tar.gz" - -SRC_URI[md5sum] = "0821830d930a86a5c69110837c55b7da" -SRC_URI[sha256sum] = "e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e" - -inherit autotools gettext binconfig - -do_configure() { - gnu-configize --force -# libtoolize --force --copy - autoconf - oe_runconf -} - -do_install_append() { - rm ${D}${libdir}/libmcrypt -r -} diff --git a/meta-aarch64/recipes-extra/libmemcached/libmemcached.inc b/meta-aarch64/recipes-extra/libmemcached/libmemcached.inc deleted file mode 100644 index 448a15d0..00000000 --- a/meta-aarch64/recipes-extra/libmemcached/libmemcached.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "open source C/C++ client library and tools for the memcached server" -DEPENDS = "libevent util-linux" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=865490941c91ba790f0ea78dec93bd60" - -SRC_URI = "http://launchpad.net/libmemcached/1.0/${PV}/+download/libmemcached-${PV}.tar.gz" - -TARGET_LDFLAGS += "-luuid" - -inherit autotools gettext pkgconfig diff --git a/meta-aarch64/recipes-extra/libmemcached/libmemcached_1.0.7.bb b/meta-aarch64/recipes-extra/libmemcached/libmemcached_1.0.7.bb deleted file mode 100644 index 0aa30505..00000000 --- a/meta-aarch64/recipes-extra/libmemcached/libmemcached_1.0.7.bb +++ /dev/null @@ -1,8 +0,0 @@ -require libmemcached.inc - -SRC_URI[md5sum] = "d59a462a92d296f76bff2d9bc72b2516" -SRC_URI[sha256sum] = "3efa86c9733eaad55d7119cb16769424e2aa6c22b3392e8f973946fce6678d81" - -do_configure_prepend_aarch64() { - export ac_cv_c_endian=little -} diff --git a/meta-aarch64/recipes-extra/libunwind/files/aarch64.patch b/meta-aarch64/recipes-extra/libunwind/files/aarch64.patch deleted file mode 100644 index 9ea8d832..00000000 --- a/meta-aarch64/recipes-extra/libunwind/files/aarch64.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- libunwind-1.1.orig/configure.ac -+++ libunwind-1.1/configure.ac -@@ -135,11 +135,11 @@ AM_CONDITIONAL(OS_HPUX, expr x$target_os - AM_CONDITIONAL(OS_FREEBSD, expr x$target_os : xfreebsd >/dev/null) - - AC_MSG_CHECKING([for ELF helper width]) - case "${target_arch}" in - (arm|hppa|ppc32|x86|sh) use_elf32=yes; AC_MSG_RESULT([32]);; --(ia64|ppc64|x86_64) use_elf64=yes; AC_MSG_RESULT([64]);; -+(ia64|ppc64|x86_64|aarch64) use_elf64=yes; AC_MSG_RESULT([64]);; - (mips) use_elfxx=yes; AC_MSG_RESULT([xx]);; - *) AC_MSG_ERROR([Unknown ELF target: ${target_arch}]) - esac - AM_CONDITIONAL(USE_ELF32, [test x$use_elf32 = xyes]) - AM_CONDITIONAL(USE_ELF64, [test x$use_elf64 = xyes]) diff --git a/meta-aarch64/recipes-extra/libunwind/libunwind.inc b/meta-aarch64/recipes-extra/libunwind/libunwind.inc deleted file mode 100644 index f028766b..00000000 --- a/meta-aarch64/recipes-extra/libunwind/libunwind.inc +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" -HOMEPAGE = "http://www.nongnu.org/libunwind" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5" - -SRC_URI = "http://download.savannah.nongnu.org/releases/${BPN}/${BPN}-${PV}.tar.gz" - -inherit autotools - -EXTRA_OECONF_arm = "--enable-debug-frame" - -BBCLASSEXTEND = "native" diff --git a/meta-aarch64/recipes-extra/libunwind/libunwind_1.1.bb b/meta-aarch64/recipes-extra/libunwind/libunwind_1.1.bb deleted file mode 100644 index 2cca1f89..00000000 --- a/meta-aarch64/recipes-extra/libunwind/libunwind_1.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -require libunwind.inc - -PR = "r1" - -SRC_URI += "file://aarch64.patch" - -SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" -SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a" diff --git a/meta-aarch64/recipes-extra/memcached/memcached_1.4.15.bb b/meta-aarch64/recipes-extra/memcached/memcached_1.4.15.bb deleted file mode 100644 index b6d436e2..00000000 --- a/meta-aarch64/recipes-extra/memcached/memcached_1.4.15.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Free & open source, high-performance, distributed memory object \ -caching system, generic in nature, but intended for use in speeding up dynamic \ -web applications by alleviating database load." -HOMEPAGE = "http://memcached.org/" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" - -SRC_URI = "http://memcached.googlecode.com/files/memcached-${PV}.tar.gz" - -SRC_URI[md5sum] = "36ea966f5a29655be1746bf4949f7f69" -SRC_URI[sha256sum] = "169721ab7a7531add6ae9f6b14b6b5641725fe0b1f0bdf5c3a4327725901e2b4" - -DEPENDS = "libevent" - -inherit autotools - -do_configure_prepend_aarch64() { - export ac_cv_c_endian=little -} diff --git a/meta-aarch64/recipes-extra/meta-toolchain-hhvm/meta-toolchain-hhvm.bb b/meta-aarch64/recipes-extra/meta-toolchain-hhvm/meta-toolchain-hhvm.bb deleted file mode 100644 index bcb84a58..00000000 --- a/meta-aarch64/recipes-extra/meta-toolchain-hhvm/meta-toolchain-hhvm.bb +++ /dev/null @@ -1,4 +0,0 @@ -TOOLCHAIN_TARGET_TASK = "packagegroup-core-standalone-hhvm-sdk-target" -TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-hhvm-${DISTRO_VERSION}" -PROVIDES = "meta-toolchain-sdk" -require recipes-core/meta/meta-toolchain.bb diff --git a/meta-aarch64/recipes-extra/meta-toolchain-hhvm/packagegroup-core-standalone-hhvm-sdk-target.bb b/meta-aarch64/recipes-extra/meta-toolchain-hhvm/packagegroup-core-standalone-hhvm-sdk-target.bb deleted file mode 100644 index 0c36439b..00000000 --- a/meta-aarch64/recipes-extra/meta-toolchain-hhvm/packagegroup-core-standalone-hhvm-sdk-target.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "HipHop VM porting SDK (target tools)" -LICENSE = "MIT" - -inherit packagegroup - -RDEPENDS_${PN} = "\ - packagegroup-core-standalone-sdk-target \ - binutils-dev \ - binutils-staticdev \ - bison \ - boost-dev \ - boost-staticdev \ - boost \ - bzip2-dev \ - cmake \ - curl-dev \ - elfutils-dev \ - elfutils-staticdev \ - expat \ - flex \ - gd-dev \ - gd-staticdev \ - google-glog-dev \ - icu-dev \ - libcap-dev \ - libcap-staticdev \ - libc-client-dev \ - libc-client-staticdev \ - libdwarf-dev \ - libdwarf-staticdev \ - libevent-fb-dev \ - libevent-fb-staticdev \ - libglade-dev \ - libmcrypt-dev \ - libmemcached-dev \ - libmemcached-staticdev \ - libmysqlclient-dev \ - libmysqlclient-staticdev \ - libmysqlclient-r-dev \ - libmysqlclient-r-staticdev \ - libpam-dev \ - libpcre-dev \ - libpcre-staticdev \ - libxml2-dev \ - libxml2-staticdev \ - ncurses-dev \ - ncurses-staticdev \ - onig-dev \ - openldap-dev \ - openssl-dev \ - openssl-staticdev \ - readline-dev \ - tbb-dev \ - zlib-dev \ - " diff --git a/meta-aarch64/recipes-extra/tbb/tbb/cross-compile.patch b/meta-aarch64/recipes-extra/tbb/tbb/cross-compile.patch deleted file mode 100644 index b970a374..00000000 --- a/meta-aarch64/recipes-extra/tbb/tbb/cross-compile.patch +++ /dev/null @@ -1,25 +0,0 @@ -Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> - -Upstream-Status: unsuitable ---- - build/linux.gcc.inc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- tbb41_20121003oss.orig/build/linux.gcc.inc -+++ tbb41_20121003oss/build/linux.gcc.inc -@@ -40,12 +40,13 @@ DYLIB_KEY = -shared - EXPORT_KEY = -Wl,--version-script, - LIBDL = -ldl - - TBB_NOSTRICT = 1 - --CPLUS = g++ --CONLY = gcc -+CPLUS = $(CXX) -+CONLY = $(CC) -+CPLUS_FLAGS = $(CXXFLAGS) - LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) - LIBS += -lpthread -lrt - LINK_FLAGS = -Wl,-rpath-link=. - C_FLAGS = $(CPLUS_FLAGS) - # gcc 4.4 and higher support -std=c++0x diff --git a/meta-aarch64/recipes-extra/tbb/tbb/tbb.pc b/meta-aarch64/recipes-extra/tbb/tbb/tbb.pc deleted file mode 100644 index 644b64fb..00000000 --- a/meta-aarch64/recipes-extra/tbb/tbb/tbb.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: Threading Building Blocks -Description: Intel's parallelism library for C++ -URL: http://www.threadingbuildingblocks.org/ -Version: 3.0+r018 -Libs: -L${libdir} -ltbb -Cflags: -I${includedir} diff --git a/meta-aarch64/recipes-extra/tbb/tbb/tbb41-aarch64.patch b/meta-aarch64/recipes-extra/tbb/tbb/tbb41-aarch64.patch deleted file mode 100644 index 3366f874..00000000 --- a/meta-aarch64/recipes-extra/tbb/tbb/tbb41-aarch64.patch +++ /dev/null @@ -1,233 +0,0 @@ -Author: Leif Lindholm <leif.lindholm@linaro.org> - -Upstream-Status: not there yet - -https://bugs.launchpad.net/linaro-aarch64/+bug/1091353 - -diff --git a/build/linux.inc b/build/linux.inc -index bdad142..7db323c 100644 ---- a/build/linux.inc -+++ b/build/linux.inc -@@ -104,6 +104,9 @@ endif - ifeq ($(arch),sparc) - def_prefix = lin64 - endif -+ifeq ($(arch),aarch64) -+ def_prefix = lin64 -+endif - ifeq (,$(def_prefix)) - ifeq (64,$(findstring 64,$(arch))) - def_prefix = lin64 -diff --git a/include/tbb/machine/linux_aarch64.h b/include/tbb/machine/linux_aarch64.h -new file mode 100644 -index 0000000..e3ebc36 ---- /dev/null -+++ b/include/tbb/machine/linux_aarch64.h -@@ -0,0 +1,153 @@ -+/* -+ Copyright 2013 Linaro All Rights Reserved. -+ -+ This file is part of Threading Building Blocks. -+ -+ Threading Building Blocks is free software; you can redistribute it -+ and/or modify it under the terms of the GNU General Public License -+ version 2 as published by the Free Software Foundation. -+ -+ Threading Building Blocks 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 Threading Building Blocks; if not, write to the Free Software -+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+ As a special exception, you may use this file as part of a free software -+ library without restriction. Specifically, if other files instantiate -+ templates or use macros or inline functions from this file, or you compile -+ this file and link it with other files to produce an executable, this -+ file does not by itself cause the resulting executable to be covered by -+ the GNU General Public License. This exception does not however -+ invalidate any other reasons why the executable file might be covered by -+ the GNU General Public License. -+*/ -+ -+/* -+ This is the TBB implementation for the ARM AArch64 architecture. -+*/ -+ -+#ifndef __TBB_machine_H -+#error Do not include this file directly; include tbb_machine.h instead -+#endif -+ -+#if !(__aarch64__) -+#error Threading Building Blocks AArch64 port requires an AArch64 architecture. -+#endif -+ -+#include <sys/param.h> -+#include <unistd.h> -+ -+#define __TBB_WORDSIZE 8 -+ -+#ifndef __BYTE_ORDER__ -+ // Hopefully endianness can be validly determined at runtime. -+ // This may silently fail in some embedded systems with page-specific endianness. -+#elif __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ -+ #define __TBB_BIG_ENDIAN 1 -+#elif __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__ -+ #define __TBB_BIG_ENDIAN 0 -+#else -+ #define __TBB_BIG_ENDIAN -1 // not currently supported -+#endif -+ -+ -+#define __TBB_compiler_fence() __asm__ __volatile__("": : :"memory") -+#define __TBB_control_consistency_helper() __TBB_compiler_fence() -+ -+#define __TBB_aarch64_inner_shareable_barrier() __asm__ __volatile__("dmb ish": : :"memory") -+#define __TBB_acquire_consistency_helper() __TBB_aarch64_inner_shareable_barrier() -+#define __TBB_release_consistency_helper() __TBB_aarch64_inner_shareable_barrier() -+#define __TBB_full_memory_fence() __TBB_aarch64_inner_shareable_barrier() -+ -+//-------------------------------------------------- -+// Compare and swap -+//-------------------------------------------------- -+ -+/** -+ * Atomic CAS for 32 bit values, if *ptr==comparand, then *ptr=value, -+ * returns *ptr -+ * -+ * @param ptr pointer to value in memory to be swapped with value -+ * if *ptr==comparand -+ * @param value value to assign *ptr to if *ptr==comparand -+ * @param comparand value to compare with *ptr -+ * @return value originally in memory at ptr, regardless of success -+*/ -+static inline int32_t __TBB_machine_cmpswp4(volatile void *ptr, int32_t value, int32_t comparand ) -+{ -+ int32_t oldval, res; -+ -+ do { -+ __asm__ __volatile__( -+ " ldxr %w1, [%2]\n" -+ " mov %w0, #0\n" -+ " cmp %w1, %w3\n" -+ " b.ne 1f\n" -+ " stxr %w0, %w4, [%2]\n" -+ "1:\n" -+ : "=&r" (res), "=&r" (oldval) -+ : "r" (ptr), "Ir" (value), "r" (comparand) -+ : "cc"); -+ } while (res); -+ -+ return oldval; -+} -+ -+/** -+ * Atomic CAS for 64 bit values, if *ptr==comparand, then *ptr=value, -+ * returns *ptr -+ * -+ * @param ptr pointer to value in memory to be swapped with value -+ * if *ptr==comparand -+ * @param value value to assign *ptr to if *ptr==comparand -+ * @param comparand value to compare with *ptr -+ * @return value originally in memory at ptr, regardless of success -+ */ -+static inline int64_t __TBB_machine_cmpswp8(volatile void *ptr, int64_t value, int64_t comparand ) -+{ -+ int64_t oldval; -+ int64_t res; -+ -+ do { -+ __asm__ __volatile__( -+ " ldxr %1, [%2]\n" -+ " mov %w0, #0\n" -+ " cmp %1, %3\n" -+ " b.ne 1f\n" -+ " stxr %w0, %4, [%2]\n" -+ "1:\n" -+ : "=&r" (res), "=&r" (oldval) -+ : "r" (ptr), "Ir" (value), "r" (comparand) -+ : "cc"); -+ } while (res); -+ -+ return oldval; -+} -+ -+inline void __TBB_machine_pause (int32_t delay ) -+{ -+ while(delay>0) -+ { -+ __TBB_compiler_fence(); -+ delay--; -+ } -+} -+ -+// Machine specific atomic operations -+ -+#define __TBB_CompareAndSwap4(P,V,C) __TBB_machine_cmpswp4(P,V,C) -+#define __TBB_CompareAndSwap8(P,V,C) __TBB_machine_cmpswp8(P,V,C) -+//#define __TBB_CompareAndSwapW(P,V,C) __TBB_machine_cmpswp4(P,V,C) -+#define __TBB_Pause(V) __TBB_machine_pause(V) -+ -+// Use generics for some things -+#define __TBB_USE_GENERIC_PART_WORD_CAS 1 -+#define __TBB_USE_GENERIC_FETCH_ADD 1 -+#define __TBB_USE_GENERIC_FETCH_STORE 1 -+#define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE 1 -+#define __TBB_USE_GENERIC_RELAXED_LOAD_STORE 1 -+#define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE 1 -diff --git a/include/tbb/tbb_machine.h b/include/tbb/tbb_machine.h -index 752062e..5342877 100644 ---- a/include/tbb/tbb_machine.h -+++ b/include/tbb/tbb_machine.h -@@ -223,6 +223,8 @@ template<> struct atomic_selector<8> { - #include "machine/linux_ia64.h" - #elif __powerpc__ - #include "machine/mac_ppc.h" -+ #elif __aarch64__ -+ #include "machine/linux_aarch64.h" - #elif __TBB_GCC_BUILTIN_ATOMICS_PRESENT - #include "machine/gcc_generic.h" - #endif -@@ -391,10 +393,12 @@ void spin_wait_until_eq( const volatile T& location, const U value ) { - // - The operation assumes that the architecture consistently uses either little-endian or big-endian: - // it does not support mixed-endian or page-specific bi-endian architectures. - // This function is the only use of __TBB_BIG_ENDIAN. --#if (__TBB_BIG_ENDIAN!=-1) -+#if (__TBB_BIG_ENDIAN==-1) - #if ( __TBB_USE_GENERIC_PART_WORD_CAS) - #error generic implementation of part-word CAS was explicitly disabled for this configuration - #endif -+#endif -+ - template<typename T> - inline T __TBB_MaskedCompareAndSwap (volatile T * const ptr, const T value, const T comparand ) { - struct endianness{ static bool is_big_endian(){ -@@ -432,7 +436,6 @@ inline T __TBB_MaskedCompareAndSwap (volatile T * const ptr, const T value, cons - else continue; // CAS failed but the bits of interest left unchanged - } - } --#endif - template<size_t S, typename T> - inline T __TBB_CompareAndSwapGeneric (volatile void *ptr, T value, T comparand ); - -diff --git a/src/tbbmalloc/frontend.cpp b/src/tbbmalloc/frontend.cpp -index 4e81870..ddac9e0 100644 ---- a/src/tbbmalloc/frontend.cpp -+++ b/src/tbbmalloc/frontend.cpp -@@ -653,6 +653,14 @@ static inline unsigned int highestBitPos(unsigned int n) - # error highestBitPos() not implemented for this platform - # endif - -+#elif __aarch64__ -+ __asm__ __volatile__ -+ ( -+ "clz %0, %1\n" -+ "mov %1, %2\n" -+ "sub %0, %1, %0\n" -+ :"=&r" (pos), "=&r" (n) :"I" (31) -+ ); - #else - static unsigned int bsr[16] = {0/*N/A*/,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9}; - pos = bsr[ n>>6 ]; diff --git a/meta-aarch64/recipes-extra/tbb/tbb_4.1.bb b/meta-aarch64/recipes-extra/tbb/tbb_4.1.bb deleted file mode 100644 index c142721b..00000000 --- a/meta-aarch64/recipes-extra/tbb/tbb_4.1.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Parallelism library for C++ - runtime files \ - TBB is a library that helps you leverage multi-core processor \ - performance without having to be a threading expert. It represents a \ - higher-level, task-based parallelism that abstracts platform details \ - and threading mechanism for performance and scalability." -HOMEPAGE = "http://threadingbuildingblocks.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=2c7f2caf277a3933e3acdf7f89d54cc1" -PRDATE = "20130116" -PR = "r${PRDATE}" - -SRC_URI = "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_${PRDATE}oss_src.tgz \ - file://cross-compile.patch \ - file://tbb.pc" - -S = "${WORKDIR}/tbb41_${PRDATE}oss/" - -SRC_URI[md5sum] = "3809790e1001a1b32d59c9fee590ee85" -SRC_URI[sha256sum] = "4ae2c10899e3b6ef2f686013ec5901fc658444ca90178efaca6014b0665c34b6" - -do_compile() { - oe_runmake compiler=gcc arch=aarch64 runtime=cc4.7_libc2.17_kernel3.8 tbb tbbmalloc -} - -do_install() { - install -d ${D}${includedir} ${D}${libdir}/pkgconfig - rm ${S}/include/tbb/index.html -f - cp -a ${S}/include/tbb ${D}${includedir} - install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir} - install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig -} |