diff options
40 files changed, 120014 insertions, 412 deletions
diff --git a/classes/nylon-image.bbclass b/classes/nylon-image.bbclass index 8517c033e9..e24aa33cf4 100644 --- a/classes/nylon-image.bbclass +++ b/classes/nylon-image.bbclass @@ -1,5 +1,5 @@ # we dont need the kernel in the image -ROOTFS_POSTPROCESS_COMMAND = "rm -f ${IMAGE_ROOTFS}/tmp/zImage*" +ROOTFS_POSTPROCESS_COMMAND = "rm -f ${IMAGE_ROOTFS}/tmp/*Image*" # create a tar.gz (.imgz) file containing the filesystem and the kernel nylon_create_imgz() { @@ -7,8 +7,15 @@ nylon_create_imgz() { rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.imgz install -d ${DEPLOY_DIR_IMAGE}/tmp - cp ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_NAME}.flash.bin ${DEPLOY_DIR_IMAGE}/tmp/zImage.flash + # copy the kernel (for mips on flash) into tmp + FLASH_BIN=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_NAME}.flash.bin + test -f ${FLASH_BIN} && \ + cp ${FLASH_BIN} ${DEPLOY_DIR_IMAGE}/tmp/zImage.flash + + # copy rootfs.jffs (or so) into tmp cp ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${type} ${DEPLOY_DIR_IMAGE}/tmp/rootfs.${type} + + # make an imgz out of tmp ( cd ${DEPLOY_DIR_IMAGE}/tmp; tar cvzf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.imgz * ) rm -r ${DEPLOY_DIR_IMAGE}/tmp } diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 8cea393b43..eeb3f75e11 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -98,7 +98,7 @@ log_check() { for keyword_die in "Cannot find package" "exit 1" ERR Fail do - if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") &>/dev/null + if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1 then echo "log_check: There were error messages in the logfile" echo -e "log_check: Matched keyword: [$keyword_die]\n" diff --git a/conf/distro/nylon.conf b/conf/distro/nylon.conf index 1c76ef870b..0d21488bb0 100644 --- a/conf/distro/nylon.conf +++ b/conf/distro/nylon.conf @@ -20,12 +20,18 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc" PREFERRED_PROVIDERS += " virtual/libx11:diet-x11" PREFERRED_PROVIDERS += " python:python-curses" +PREFERRED_PROVIDER_classpath = "classpath-minimal" TARGET_FPU = "soft" SRCDATE := "20050527" PREFERRED_VERSION_glibc = "2.3.3" +PREFERRED_VERSION_shorewall = "2.0.9-monolithic" +PREFERRED_VERSION_ppp-dsl = "0.1-monolithic" +PREFERRED_VERSION_mtd-utils = "0.0.0+cvs20041113" +PREFERRED_VERSION_kismet = "2005-01-R1" + PREFERRED_VERSION_gcc-cross-initial = "3.3.4" PREFERRED_VERSION_gcc-cross = "3.3.4" PREFERRED_VERSION_gcc-cross-sdk = "3.3.4" @@ -33,13 +39,30 @@ PREFERRED_VERSION_gcc = "3.3.4" PREFERRED_VERSION_binutils-cross = "2.14.90.0.7" PREFERRED_VERSION_binutils-cross-sdk = "2.14.90.0.7" PREFERRED_VERSION_binutils = "2.16" -PREFERRED_VERSION_shorewall = "2.0.9-monolithic" -PREFERRED_VERSION_ppp-dsl = "0.1-monolithic" -PREFERRED_VERSION_mtd-utils = "0.0.0+cvs20041113" -PREFERRED_VERSION_kismet = "2005-01-R1" PREFERRED_VERSION_prism54-firmware = "1.0.3.0" +KERNEL_VERSION_mtx-1 = "2.4.27" +KERNEL_VERSION_mtx-2 = "2.4.27" + +PREFERRED_VERSION_glibc_mtx-3 = "2.3.5+cvs20050627" +PREFERRED_VERSION_gcc-cross-initial_mtx-3 = "3.4.4" +PREFERRED_VERSION_gcc-cross_mtx-3 = "3.4.4" +PREFERRED_VERSION_gcc-cross-sdk_mtx-3 = "3.4.4" +PREFERRED_VERSION_gcc_mtx-3 = "3.4.4" +### did not compile with: +#PREFERRED_VERSION_binutils-cross_mtx-3 = "2.16.91.0.7" +#PREFERRED_VERSION_binutils-cross-sdk_mtx-3 = "2.16.91.0.7" +### falling back to: +PREFERRED_VERSION_binutils-cross_mtx-3 = "2.15.94.0.1" +PREFERRED_VERSION_binutils-cross-sdk_mtx-3 = "2.15.94.0.1" +PREFERRED_VERSION_binutils_mtx-3 = "2.16" + +PREFERRED_VERSION_udev = "089" + +KERNEL_VERSION_mtx-3 = "2.6.15.4" + + # usually overrrided from local.conf NYLON_RELEASE = "unstable" @@ -53,7 +76,6 @@ export FEED_URIS = " \ # image names DISTRO_VERSION = "${NYLON_VERSION}" BUILDNAME := "${NYLON_VERSION}" -KERNEL_VERSION = "2.4.27" #this does not work: ${@base_read_file('${STAGING_DIR}/${HOST_SYS}/kernel/kernel-abiversion')} IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}_${BUILDNAME}" KERNEL_IMAGE_NAME = "kernel-${KERNEL_VERSION}-${MACHINE}_${BUILDNAME}" diff --git a/conf/machine/mtx-3.conf b/conf/machine/mtx-3.conf new file mode 100644 index 0000000000..bdd39ab57f --- /dev/null +++ b/conf/machine/mtx-3.conf @@ -0,0 +1,36 @@ +#@TYPE: Machine +#@NAME: 4G Systems mtx-3 +#@DESCRIPTION: Machine configuration for the mtx-3 (aka SurfBox 3rd generation) + +# hint: the mtx-3 architecture is still in experimental state, no hardware +# is yet available for it + +# TARGET_ARCH should be set here in the machine configuration. +# For compiling the kernel, ARCH will be derived form it by kernel-arch.bbclass +TARGET_ARCH = "arm" + +IPKG_ARCHS = "all arm ${MACHINE}" + +PREFERRED_PROVIDER_virtual/kernel = "linux-mtx-3" + +EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 -n" + +TARGET_CC_ARCH = "-march=armv5te" +#-mtune=arm926ejs" + +USE_DEVFS = "1" +USE_VT = "0" +SERIAL_CONSOLE = "115200 ttyS0 vt100" + +BOOTSTRAP_EXTRA_RDEPENDS += "" + +#PREFERRED_VERSION_yamon = "2.24" + + +# FIXME: old srec files as mtx-2 used to do it ... this may need to get adapted sometime! + +# create srec files +#IMAGE_POSTPROCESS_COMMAND += "\ +# ${TARGET_PREFIX}objcopy -O srec -I binary --adjust-vma 0xbe000000 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${type} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.srec; \ +# grep -v S7 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.srec > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.srec; \ +# grep -v S0 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_NAME}.flash.srec >> ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.srec; " diff --git a/packages/boost-asio/.mtn2git_empty b/packages/boost-asio/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/boost-asio/.mtn2git_empty diff --git a/packages/boost-asio/boost-asio_0.3.7.bb b/packages/boost-asio/boost-asio_0.3.7.bb new file mode 100644 index 0000000000..07888044f2 --- /dev/null +++ b/packages/boost-asio/boost-asio_0.3.7.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "Asio 0.3.7 for work with boost, should be moved into boost package once integrated into the boost distribution." +HOMEPAGE = "http://asio.sf.net/" +MAINTAINER = "Martin Dietze <dietze@4g-systems.com>" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r1" + +inherit debian + +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/boost_asio_0_3_7.tar.bz2" + +# mtx-[12] use 2.4 kernels but the kernel-libc-headers are from kernel 2.6, +# thus the automatic epoll detection does not work in epoll_reactor_fwd.hpp. +SRC_URI_append_mtx-1 = " file://disable-epoll.patch;patch=1" +SRC_URI_append_mtx-2 = " file://disable-epoll.patch;patch=1" + +S = "${WORKDIR}/boost_asio_0_3_7" + +do_configure() { +} + +do_compile() { +} + +do_install() { + cd ${S} + install -d ${D}/usr/include + cp -dpR boost ${D}/usr/include +} + +do_stage() { + cd ${S} + install -d -m 775 ${STAGING_INCDIR} + cp -dpR boost ${STAGING_INCDIR} +} + +PACKAGES = "${PN}-dev" +FILES_${PN}-dev = "/usr/include" diff --git a/packages/boost-asio/files/.mtn2git_empty b/packages/boost-asio/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/boost-asio/files/.mtn2git_empty diff --git a/packages/boost-asio/files/disable-epoll.patch b/packages/boost-asio/files/disable-epoll.patch new file mode 100644 index 0000000000..2d251f6440 --- /dev/null +++ b/packages/boost-asio/files/disable-epoll.patch @@ -0,0 +1,11 @@ +--- boost_asio_0_3_7-orig/boost/asio/detail/epoll_reactor_fwd.hpp 2006-10-27 09:59:16.622530738 +0200 ++++ boost_asio_0_3_7/boost/asio/detail/epoll_reactor_fwd.hpp 2006-10-27 09:59:41.131614794 +0200 +@@ -17,7 +17,7 @@ + + #include <boost/asio/detail/push_options.hpp> + +-#if !defined(BOOST_ASIO_DISABLE_EPOLL) ++#if !defined(BOOST_ASIO_DISABLE_EPOLL) && 0 // mtx-[12] uses 2.4 kernels! + #if defined(__linux__) // This service is only supported on Linux. + + #include <boost/asio/detail/push_options.hpp> diff --git a/packages/images/nylon-image-base.bb b/packages/images/nylon-image-base.bb index bcbcc67c05..4034590822 100644 --- a/packages/images/nylon-image-base.bb +++ b/packages/images/nylon-image-base.bb @@ -1,24 +1,31 @@ -inherit image_ipk nylon-image +inherit image_ipk +inherit nylon_image LICENSE = MIT export IMAGE_BASENAME = "nylon-base" NYLON_BASE = "base-files base-passwd bash busybox \ ipkg initscripts less \ - modutils modutils-initscripts mtd-utils \ + mtd-utils \ nano ncurses netbase \ openssh sysvinit \ timezones tinylogin" DEPENDS += "virtual/kernel less nano" -RDEPENDS = "kernel modutils-depmod modutils-modinfo less nano elvis-tiny \ +RDEPENDS = "kernel less nano elvis-tiny \ ${NYLON_BASE} ${BOOTSTRAP_EXTRA_RDEPENDS}" +## kernel 2.4 ## +RDEPENDS_append_mtx-1 = " modutils modutils-initscripts modutils-depmod modutils-modinfo" +RDEPENDS_append_mtx-2 = " modutils modutils-initscripts modutils-depmod modutils-modinfo" +## kernel 2.6 ## +RDEPENDS_append_mtx-3 = " module-init-tools udev" + export IPKG_INSTALL = "${RDEPENDS}" IMAGE_LINGUAS = "" # we dont need the kernel in the image -ROOTFS_POSTPROCESS_COMMAND = "rm -f ${IMAGE_ROOTFS}/tmp/zImage*" +ROOTFS_POSTPROCESS_COMMAND = "rm -f ${IMAGE_ROOTFS}/tmp/*Image*" +# needed?? the above line is the same as in classes/nylon-image.bbclass -inherit image_ipk nylon-image diff --git a/packages/ipkg/ipkg.inc b/packages/ipkg/ipkg.inc index adc7714bea..b1e2f19267 100644 --- a/packages/ipkg/ipkg.inc +++ b/packages/ipkg/ipkg.inc @@ -26,7 +26,7 @@ pkg_postinst_ipkg () { if [ "x$D" != "x" ]; then install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d # this happens at S98 where our good 'ole packages script used to run - echo -e "#!/bin/sh + echo "#!/bin/sh ipkg-cl configure " > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${IPKG_INIT_POSITION}configure chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${IPKG_INIT_POSITION}configure diff --git a/packages/librcf/.mtn2git_empty b/packages/librcf/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/librcf/.mtn2git_empty diff --git a/packages/librcf/files/.mtn2git_empty b/packages/librcf/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/librcf/files/.mtn2git_empty diff --git a/packages/librcf/files/rcf-0.4-g++-4.1.diff b/packages/librcf/files/rcf-0.4-g++-4.1.diff new file mode 100644 index 0000000000..8316d99162 --- /dev/null +++ b/packages/librcf/files/rcf-0.4-g++-4.1.diff @@ -0,0 +1,1241 @@ +diff -uNr RCF-0.4-orig/Makefile RCF-0.4/Makefile +--- RCF-0.4-orig/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ RCF-0.4/Makefile 2006-10-24 16:08:00.799705810 +0200 +@@ -0,0 +1,32 @@ ++# ++# Top level Makefile for RCF library and test programs ++# ++# Martin Dietze <dietze@4g-systems.com> ++# ++ ++SUBDIRS = src test ++DESTDIR = ++prefix = /usr/local ++ ++.PHONY: all clean test syntax shared install uninstall ++ ++all: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done ++ ++shared: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done ++ ++install: ++ $(MAKE) -C src $@ ++ ++uninstall: ++ $(MAKE) -C src $@ ++ ++syntax: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done ++ ++test: ++ $(MAKE) -C $@ $@ ++ ++clean: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done +diff -uNr RCF-0.4-orig/include/RCF/CheckRtti.hpp RCF-0.4/include/RCF/CheckRtti.hpp +--- RCF-0.4-orig/include/RCF/CheckRtti.hpp 2006-01-11 01:06:52.000000000 +0100 ++++ RCF-0.4/include/RCF/CheckRtti.hpp 2006-10-19 10:03:09.000000000 +0200 +@@ -24,7 +24,7 @@ + {}
+ };
+
+- struct B
++ struct B : public A
+ {
+ virtual ~B()
+ {}
+@@ -35,7 +35,7 @@ + B b;
+ // RTTI support not detected!
+ // If you're using Visual C++, set "Enable Run-Time Type Info" to true, in the Project Properties | C/C++ | Language options,
+- dynamic_cast<A &>(b);
++ (void)dynamic_cast<A &>(b);
+ }
+ };
+
+diff -uNr RCF-0.4-orig/include/RCF/EndpointBrokerService.hpp RCF-0.4/include/RCF/EndpointBrokerService.hpp +--- RCF-0.4-orig/include/RCF/EndpointBrokerService.hpp 2006-01-11 01:06:52.000000000 +0100 ++++ RCF-0.4/include/RCF/EndpointBrokerService.hpp 2006-10-19 10:16:40.000000000 +0200 +@@ -49,12 +49,12 @@ + friend class EndpointBrokerService;
+ typedef RcfClient<I_EndpointServer> Client;
+ typedef boost::shared_ptr<Client> ClientPtr;
++ ServerTransportPtr mServerTransportPtr;
+ std::string mEndpointName;
+- std::string mEndpointServerPassword;
+ std::string mEndpointClientPassword;
++ std::string mEndpointServerPassword;
+ std::vector<SessionPtr> mConnections;
+ ClientPtr mMasterConnection;
+- ServerTransportPtr mServerTransportPtr;
+ };
+
+ class EndpointBrokerService :
+diff -uNr RCF-0.4-orig/include/RCF/IpServerTransport.hpp RCF-0.4/include/RCF/IpServerTransport.hpp +--- RCF-0.4-orig/include/RCF/IpServerTransport.hpp 2006-02-04 01:01:22.000000000 +0100 ++++ RCF-0.4/include/RCF/IpServerTransport.hpp 2006-10-19 10:17:56.000000000 +0200 +@@ -87,10 +87,10 @@ + }
+
+ private:
++ mutable ReadWriteMutex mReadWriteMutex;
+ std::string mNetworkInterface;
+ std::vector<std::string> mAllowedIps;
+ std::vector<u_long> mAllowedAddrs;
+- mutable ReadWriteMutex mReadWriteMutex;
+ };
+
+ } // namespace RCF
+diff -uNr RCF-0.4-orig/include/RCF/OpenSslEncryptionFilter.hpp RCF-0.4/include/RCF/OpenSslEncryptionFilter.hpp +--- RCF-0.4-orig/include/RCF/OpenSslEncryptionFilter.hpp 2006-01-11 01:06:54.000000000 +0100 ++++ RCF-0.4/include/RCF/OpenSslEncryptionFilter.hpp 2006-10-19 10:44:20.000000000 +0200 +@@ -28,6 +28,8 @@ + SslClient
+ };
+
++ class OpenSslEncryptionFilterImpl;
++
+ /// Filter implementing the SSL encryption protocol, through the OpenSSL library.
+ class OpenSslEncryptionFilter : public IdentityFilter, boost::noncopyable
+ {
+diff -uNr RCF-0.4-orig/include/RCF/PublishingService.hpp RCF-0.4/include/RCF/PublishingService.hpp +--- RCF-0.4-orig/include/RCF/PublishingService.hpp 2006-07-27 23:30:10.000000000 +0200 ++++ RCF-0.4/include/RCF/PublishingService.hpp 2006-10-19 16:24:36.000000000 +0200 +@@ -15,6 +15,7 @@ + #include <boost/shared_ptr.hpp>
+ #include <boost/utility.hpp>
+
++#include <RCF/ClientStub.hpp>
+ #include <RCF/GetInterfaceName.hpp>
+ #include <RCF/Service.hpp>
+ #include <RCF/ThreadLibrary.hpp>
+diff -uNr RCF-0.4-orig/include/RCF/RcfServer.hpp RCF-0.4/include/RCF/RcfServer.hpp +--- RCF-0.4-orig/include/RCF/RcfServer.hpp 2006-04-02 21:39:32.000000000 +0200 ++++ RCF-0.4/include/RCF/RcfServer.hpp 2006-10-19 16:26:26.000000000 +0200 +@@ -214,12 +214,12 @@ + ThreadSpecificSessionQueuePtr mThreadSpecificSessionQueuePtr;
+ // eventually other specialized session queues...
+
+- volatile bool mServerThreadsStopFlag;
+ Mutex mOpenedMutex;
+ bool mOpened;
+
+ Mutex mStartedMutex;
+ bool mStarted;
++ volatile bool mServerThreadsStopFlag;
+
+ public:
+
+diff -uNr RCF-0.4-orig/include/RCF/StubFactory.hpp RCF-0.4/include/RCF/StubFactory.hpp +--- RCF-0.4-orig/include/RCF/StubFactory.hpp 2006-01-11 01:06:54.000000000 +0100 ++++ RCF-0.4/include/RCF/StubFactory.hpp 2006-10-19 10:28:45.000000000 +0200 +@@ -9,6 +9,7 @@ + #ifndef INCLUDE_RCF_STUBFACTORY_HPP
+ #define INCLUDE_RCF_STUBFACTORY_HPP
+
++#include <RCF/ServerStub.hpp>
+ #include <boost/shared_ptr.hpp>
+
+ namespace RCF {
+diff -uNr RCF-0.4-orig/include/RCF/SubscriptionService.hpp RCF-0.4/include/RCF/SubscriptionService.hpp +--- RCF-0.4-orig/include/RCF/SubscriptionService.hpp 2006-07-27 23:30:10.000000000 +0200 ++++ RCF-0.4/include/RCF/SubscriptionService.hpp 2006-10-23 11:43:31.826971900 +0200 +@@ -19,6 +19,7 @@ +
+ #include <RCF/GetInterfaceName.hpp>
+ #include <RCF/Service.hpp>
++#include <RCF/ServerStub.hpp>
+
+ namespace RCF {
+
+diff -uNr RCF-0.4-orig/include/RCF/TcpClientTransport.hpp RCF-0.4/include/RCF/TcpClientTransport.hpp +--- RCF-0.4-orig/include/RCF/TcpClientTransport.hpp 2006-02-05 05:52:38.000000000 +0100 ++++ RCF-0.4/include/RCF/TcpClientTransport.hpp 2006-10-20 16:59:45.000000000 +0200 +@@ -93,7 +93,7 @@ + class TcpClientTransport : public I_ClientTransport
+ {
+ public:
+- TcpClientTransport::TcpClientTransport(const TcpClientTransport &rhs);
++ TcpClientTransport(const TcpClientTransport &rhs);
+ TcpClientTransport(const std::string &ip, int port);
+ TcpClientTransport(sockaddr_in remoteAddr);
+ TcpClientTransport(int fd);
+@@ -131,8 +131,8 @@ + int fd;
+ bool own;
+
+- std::size_t mBytesTransferred;
+ int mError;
++ std::size_t mBytesTransferred;
+
+ boost::shared_ptr< CloseFunctor > mCloseFunctor;
+ std::vector<FilterPtr> mTransportFilters;
+diff -uNr RCF-0.4-orig/include/RCF/TcpServerTransport.hpp RCF-0.4/include/RCF/TcpServerTransport.hpp +--- RCF-0.4-orig/include/RCF/TcpServerTransport.hpp 2006-02-07 21:37:16.000000000 +0100 ++++ RCF-0.4/include/RCF/TcpServerTransport.hpp 2006-10-20 17:27:25.000000000 +0200 +@@ -59,12 +59,12 @@ + WritingData,
+ };
+
++ Fd fd;
+ State state;
+ std::vector<char> readBuffer;
+ std::size_t readBufferRemaining;
+ std::vector<char> writeBuffer;
+ std::size_t writeBufferRemaining;
+- Fd fd;
+ };
+
+ typedef boost::shared_ptr<I_Session> SessionPtr;
+diff -uNr RCF-0.4-orig/include/RCF/ZlibCompressionFilter.hpp RCF-0.4/include/RCF/ZlibCompressionFilter.hpp +--- RCF-0.4-orig/include/RCF/ZlibCompressionFilter.hpp 2006-01-11 01:06:54.000000000 +0100 ++++ RCF-0.4/include/RCF/ZlibCompressionFilter.hpp 2006-10-23 16:29:58.698611358 +0200 +@@ -21,6 +21,9 @@ + static const int RCF_FILTER_ZLIB_COMPRESSION_STATELESS = 3;
+
+ static const int RCF_FILTER_ZLIB_COMPRESSION_STATEFUL = 4;
++
++ class ZlibCompressionReadFilter;
++ class ZlibCompressionWriteFilter;
+
+ class ZlibCompressionFilter : public IdentityFilter, boost::noncopyable
+ {
+diff -uNr RCF-0.4-orig/include/RCF/util/Platform/Machine/ByteOrder.hpp RCF-0.4/include/RCF/util/Platform/Machine/ByteOrder.hpp +--- RCF-0.4-orig/include/RCF/util/Platform/Machine/ByteOrder.hpp 2006-09-13 17:02:32.000000000 +0200 ++++ RCF-0.4/include/RCF/util/Platform/Machine/ByteOrder.hpp 2006-10-24 17:40:39.917363264 +0200 +@@ -14,6 +14,8 @@ + #include "x86/ByteOrder.hpp"
+ #elif defined(_M_IA64) || defined(_M_AMD64) || defined(_M_X64)
+ #include "x86/ByteOrder.hpp"
++#elif defined(_MIPSEL) && _MIPSEL == 1
++#include "x86/ByteOrder.hpp"
+ #else
+ #include "UnknownMachine/ByteOrder.hpp"
+ #endif
+diff -uNr RCF-0.4-orig/include/RCF/util/UnusedVariable.hpp RCF-0.4/include/RCF/util/UnusedVariable.hpp +--- RCF-0.4-orig/include/RCF/util/UnusedVariable.hpp 2006-01-11 01:06:56.000000000 +0100 ++++ RCF-0.4/include/RCF/util/UnusedVariable.hpp 2006-10-20 17:40:00.000000000 +0200 +@@ -9,6 +9,10 @@ + #define INCLUDE_UTIL_UNUSEDVARIABLE_HPP
+
+ // Eliminate unused variable warnings, eg for scoped lock objects
++#ifndef __GNUC__
+ #define RCF_UNUSED_VARIABLE(x) ((void) x)
++#else
++#define RCF_UNUSED_VARIABLE(x)
++#endif
+
+ #endif // ! INCLUDE_UTIL_UNUSEDVARIABLE_HPP
+diff -uNr RCF-0.4-orig/include/SF/I_Stream.hpp RCF-0.4/include/SF/I_Stream.hpp +--- RCF-0.4-orig/include/SF/I_Stream.hpp 2006-01-11 01:07:00.000000000 +0100 ++++ RCF-0.4/include/SF/I_Stream.hpp 2006-10-19 10:12:54.000000000 +0200 +@@ -19,6 +19,7 @@ + class I_ContextRead
+ {
+ public:
++ virtual ~I_ContextRead(void) {}
+ virtual void add(SF::UInt32 nid, const ObjectId &id) = 0;
+ virtual void add(void *ptr, const std::type_info &objType, void *pObj ) = 0;
+ virtual bool query(SF::UInt32 nid, ObjectId &id) = 0;
+@@ -29,6 +30,7 @@ + class I_ContextWrite
+ {
+ public:
++ virtual ~I_ContextWrite(void) {}
+ virtual void setEnabled(bool enable) = 0;
+ virtual bool getEnabled() = 0;
+ virtual void add(const ObjectId &id, SF::UInt32 &nid) = 0;
+@@ -38,28 +40,33 @@ +
+ class I_WithContextRead {
+ public:
++ virtual ~I_WithContextRead(void) {}
+ virtual I_ContextRead &getContext() = 0;
+ };
+
+ class I_WithContextWrite {
+ public:
++ virtual ~I_WithContextWrite(void) {}
+ virtual I_ContextWrite &getContext() = 0;
+ };
+
+ class I_LocalStorage {
+ public:
++ virtual ~I_LocalStorage(void) {}
+ virtual void set(const std::type_info &objType, void *) = 0;
+ virtual void *get(const std::type_info &objType) = 0;
+ };
+
+ class I_WithLocalStorage {
+ public:
++ virtual ~I_WithLocalStorage(void) {}
+ virtual I_LocalStorage &getLocalStorage() = 0;
+ };
+
+ class I_Encoding
+ {
+ public:
++ virtual ~I_Encoding(void) {}
+ virtual UInt32 getCount(DataPtr &data, const std::type_info &type) = 0;
+ virtual void toData(DataPtr &data, void *pvObject, const std::type_info &type, int nCount) = 0;
+ virtual void toObject(DataPtr &data, void *pvObject, const std::type_info &type, int nCount) = 0;
+@@ -68,6 +75,7 @@ + class I_WithEncoding
+ {
+ public:
++ virtual ~I_WithEncoding(void) {}
+ virtual I_Encoding &getEncoding() = 0;
+ };
+
+@@ -80,6 +88,7 @@ + class WithFormatWrite
+ {
+ public:
++ virtual ~WithFormatWrite(void) {}
+ virtual void begin(const Node &) = 0;
+ virtual void put(const DataPtr &) = 0;
+ virtual void end() = 0;
+@@ -88,6 +97,7 @@ + class WithFormatRead
+ {
+ public:
++ virtual ~WithFormatRead(void) {}
+ virtual bool begin(Node &) = 0;
+ virtual bool get(DataPtr &) = 0;
+ virtual void end() = 0;
+diff -uNr RCF-0.4-orig/include/SF/SerializeSmartPtr.hpp RCF-0.4/include/SF/SerializeSmartPtr.hpp +--- RCF-0.4-orig/include/SF/SerializeSmartPtr.hpp 2006-01-19 07:44:30.000000000 +0100 ++++ RCF-0.4/include/SF/SerializeSmartPtr.hpp 2006-10-24 12:50:50.039809323 +0200 +@@ -20,7 +20,6 @@ + template< template<typename> class SmartPtr, typename T >
+ inline bool serializeSimpleSmartPtr(SmartPtr<T> **pps, SF::Archive &ar)
+ {
+- bool bRet = false;
+ if (ar.isRead()) {
+ if (ar.isFlagSet(Archive::POINTER)) *pps = new SmartPtr<T>;
+ T *pt = NULL;
+diff -uNr RCF-0.4-orig/include/SF/SerializeStaticArray.hpp RCF-0.4/include/SF/SerializeStaticArray.hpp +--- RCF-0.4-orig/include/SF/SerializeStaticArray.hpp 2006-01-11 01:07:00.000000000 +0100 ++++ RCF-0.4/include/SF/SerializeStaticArray.hpp 2006-10-23 17:02:39.489476120 +0200 +@@ -2,6 +2,8 @@ + #ifndef INCLUDE_SF_SERIALIZESTATICARRAY_HPP
+ #define INCLUDE_SF_SERIALIZESTATICARRAY_HPP
+
++#include <boost/type_traits.hpp>
++
+ #include <SF/Archive.hpp>
+
+ namespace SF {
+diff -uNr RCF-0.4-orig/include/SF/Stream.hpp RCF-0.4/include/SF/Stream.hpp +--- RCF-0.4-orig/include/SF/Stream.hpp 2006-09-19 11:53:44.000000000 +0200 ++++ RCF-0.4/include/SF/Stream.hpp 2006-10-19 10:14:35.000000000 +0200 +@@ -221,7 +221,7 @@ + {
+ public:
+ OStream(std::ostream &os);
+- UInt32 OStream::writeRaw(const Byte8 *pBytes, UInt32 nLength);
++ UInt32 writeRaw(const Byte8 *pBytes, UInt32 nLength);
+
+ private:
+ void begin(const Node &node);
+diff -uNr RCF-0.4-orig/include/SF/vector.hpp RCF-0.4/include/SF/vector.hpp +--- RCF-0.4-orig/include/SF/vector.hpp 2006-09-19 11:53:46.000000000 +0200 ++++ RCF-0.4/include/SF/vector.hpp 2006-10-23 17:05:37.129355307 +0200 +@@ -7,6 +7,7 @@ + #include <SF/SerializeDynamicArray.hpp>
+ #include <SF/SerializeStl.hpp>
+ #include <SF/Tools.hpp>
++#include <SF/Stream.hpp>
+
+ namespace SF {
+
+diff -uNr RCF-0.4-orig/src/Makefile RCF-0.4/src/Makefile +--- RCF-0.4-orig/src/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ RCF-0.4/src/Makefile 2006-10-24 16:08:09.684099349 +0200 +@@ -0,0 +1,29 @@ ++# ++# Makefile for RCF library ++# ++# Martin Dietze <dietze@4g-systems.com> ++# ++ ++SUBDIRS = SF RCF ++DESTDIR = ++prefix = /usr/local ++ ++.PHONY: all clean syntax shared install uninstall ++ ++all: ++ $(MAKE) -C RCF $@ ++ ++shared: ++ $(MAKE) -C RCF $@ ++ ++install: ++ $(MAKE) -C RCF $@ ++ ++uninstall: ++ $(MAKE) -C RCF $@ ++ ++syntax: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done ++ ++clean: ++ @for i in $(SUBDIRS); do $(MAKE) -C $$i $@ || exit 1; done +diff -uNr RCF-0.4-orig/src/RCF/AsyncFilter.cpp RCF-0.4/src/RCF/AsyncFilter.cpp +--- RCF-0.4-orig/src/RCF/AsyncFilter.cpp 2006-01-11 01:07:02.000000000 +0100 ++++ RCF-0.4/src/RCF/AsyncFilter.cpp 2006-10-19 10:00:18.000000000 +0200 +@@ -149,8 +149,8 @@ + ReadProxy(const std::string &buffer, FilterPtr filterPtr) :
+ mBuffer(buffer),
+ mchBuffer(mBuffer.c_str()),
+- mchBufferLength( static_cast<int>(mBuffer.length()) ),
+ mchBufferPos(),
++ mchBufferLength( static_cast<int>(mBuffer.length()) ),
+ mFilterPtr(filterPtr)
+ {}
+
+diff -uNr RCF-0.4-orig/src/RCF/Makefil |
