diff --git a/Crypto/samples/genrsakey/Makefile b/Crypto/samples/genrsakey/Makefile index 2cfa8b585..0de828282 100644 --- a/Crypto/samples/genrsakey/Makefile +++ b/Crypto/samples/genrsakey/Makefile @@ -8,9 +8,12 @@ include $(POCO_BASE)/build/rules/global -# Note: linking order is important, do not change it. +# Note: linking order is important, do not change it. +ifeq ($(POCO_CONFIG),FreeBSD) +SYSLIBS += -lssl -lcrypto -lz +else SYSLIBS += -lssl -lcrypto -lz -ldl - +endif objects = genrsakey target = genrsakey diff --git a/Foundation/src/Thread_POSIX.cpp b/Foundation/src/Thread_POSIX.cpp index 52eaee6bc..907d7f4a6 100644 --- a/Foundation/src/Thread_POSIX.cpp +++ b/Foundation/src/Thread_POSIX.cpp @@ -160,7 +160,7 @@ void ThreadImpl::setStackSizeImpl(int size) #else if (size != 0) { -#if defined(__APPLE__) +#if defined(POCO_OS_FAMILY_BSD) // we must round up to a multiple of the memory page size const int PAGE_SIZE = 4096; size = ((size + PAGE_SIZE - 1)/PAGE_SIZE)*PAGE_SIZE; diff --git a/Foundation/testsuite/src/ThreadPoolTest.cpp b/Foundation/testsuite/src/ThreadPoolTest.cpp index 3539e858b..dd30f6972 100644 --- a/Foundation/testsuite/src/ThreadPoolTest.cpp +++ b/Foundation/testsuite/src/ThreadPoolTest.cpp @@ -56,9 +56,6 @@ ThreadPoolTest::~ThreadPoolTest() void ThreadPoolTest::testThreadPool() { -#if (POCO_OS == POCO_OS_FREE_BSD) - fail ("TODO! - segfaults on FreeBSD"); -#else ThreadPool pool(2, 3, 3); pool.setStackSize(1); @@ -150,7 +147,6 @@ void ThreadPoolTest::testThreadPool() assert (pool.used() == 0); assert (pool.capacity() == 4); assert (pool.available() == 4); -#endif // POCO_OS_FREE_BSD } diff --git a/Foundation/testsuite/src/ThreadTest.cpp b/Foundation/testsuite/src/ThreadTest.cpp index d466cf5bd..acf740ed4 100644 --- a/Foundation/testsuite/src/ThreadTest.cpp +++ b/Foundation/testsuite/src/ThreadTest.cpp @@ -39,7 +39,7 @@ #include "Poco/Event.h" #include "Poco/Timestamp.h" #include "Poco/Timespan.h" -#include +//#include #if defined(__sun) && defined(__SVR4) && !defined(__EXTENSIONS__) #define __EXTENSIONS__ #endif @@ -273,6 +273,7 @@ void ThreadTest::testThreadStackSize() int stackSize = 50000000; Thread thread; + assert (0 == thread.getStackSize()); thread.setStackSize(stackSize); assert (stackSize <= thread.getStackSize()); @@ -283,21 +284,21 @@ void ThreadTest::testThreadStackSize() stackSize = 1; thread.setStackSize(stackSize); -#ifdef PTHREAD_STACK_MIN - assert (PTHREAD_STACK_MIN == thread.getStackSize()); -#else - assert (stackSize >= thread.getStackSize()); + +#if !defined(POCO_OS_FAMILY_BSD) // on BSD family, stack size is rounded + #ifdef PTHREAD_STACK_MIN + assert (PTHREAD_STACK_MIN == thread.getStackSize()); + #else + assert (stackSize >= thread.getStackSize()); + #endif #endif + tmp = MyRunnable::_staticVar; -#if POCO_OS == POCO_OS_FREE_BSD - fail ("FreeBSD segfaults - TODO!"); -#else thread.start(freeFunc, &tmp); thread.join(); assert (tmp * 2 == MyRunnable::_staticVar); -#endif - thread.setStackSize(0); + thread.setStackSize(0); assert (0 == thread.getStackSize()); tmp = MyRunnable::_staticVar; thread.start(freeFunc, &tmp); diff --git a/Net/testsuite/src/DatagramSocketTest.cpp b/Net/testsuite/src/DatagramSocketTest.cpp index 94f790f29..60313694e 100644 --- a/Net/testsuite/src/DatagramSocketTest.cpp +++ b/Net/testsuite/src/DatagramSocketTest.cpp @@ -96,9 +96,6 @@ void DatagramSocketTest::testSendToReceiveFrom() void DatagramSocketTest::testBroadcast() { -#if (POCO_OS == POCO_OS_FREE_BSD) - fail ("TODO! hangs on FreeBSD"); -#else UDPEchoServer echoServer; DatagramSocket ss(IPAddress::IPv4); SocketAddress sa("255.255.255.255", echoServer.port()); @@ -119,7 +116,6 @@ void DatagramSocketTest::testBroadcast() assert (n == 5); assert (std::string(buffer, n) == "hello"); ss.close(); -#endif } diff --git a/NetSSL_OpenSSL/samples/HTTPSTimeServer/Makefile b/NetSSL_OpenSSL/samples/HTTPSTimeServer/Makefile index f2a6927a1..ede60b7b4 100644 --- a/NetSSL_OpenSSL/samples/HTTPSTimeServer/Makefile +++ b/NetSSL_OpenSSL/samples/HTTPSTimeServer/Makefile @@ -9,7 +9,11 @@ include $(POCO_BASE)/build/rules/global # Note: linking order is important, do not change it. +ifeq ($(POCO_CONFIG),FreeBSD) +SYSLIBS += -lssl -lcrypto -lz +else SYSLIBS += -lssl -lcrypto -lz -ldl +endif objects = HTTPSTimeServer diff --git a/NetSSL_OpenSSL/samples/Mail/Makefile b/NetSSL_OpenSSL/samples/Mail/Makefile index 36538f712..1ded0e760 100644 --- a/NetSSL_OpenSSL/samples/Mail/Makefile +++ b/NetSSL_OpenSSL/samples/Mail/Makefile @@ -9,7 +9,11 @@ include $(POCO_BASE)/build/rules/global # Note: linking order is important, do not change it. +ifeq ($(POCO_CONFIG),FreeBSD) +SYSLIBS += -lssl -lcrypto -lz +else SYSLIBS += -lssl -lcrypto -lz -ldl +endif objects = Mail diff --git a/NetSSL_OpenSSL/samples/download/Makefile b/NetSSL_OpenSSL/samples/download/Makefile index 04a12c435..49b0ec507 100644 --- a/NetSSL_OpenSSL/samples/download/Makefile +++ b/NetSSL_OpenSSL/samples/download/Makefile @@ -9,7 +9,11 @@ include $(POCO_BASE)/build/rules/global # Note: linking order is important, do not change it. +ifeq ($(POCO_CONFIG),FreeBSD) +SYSLIBS += -lssl -lcrypto -lz +else SYSLIBS += -lssl -lcrypto -lz -ldl +endif objects = download diff --git a/build/rules/global b/build/rules/global index f881c8f6e..0226ebcf6 100644 --- a/build/rules/global +++ b/build/rules/global @@ -54,10 +54,10 @@ export POCO_BUILD cwd = $(shell pwd) inpoco = $(shell echo | awk '{print index("$(cwd)","$(POCO_BASE)")}') inproj = $(shell echo | awk '{print index("$(cwd)","$(PROJECT_BASE)")}') -ifeq ($(inpoco),1) +ifneq ($(inpoco),0) PROJECT_BASE = $(POCO_BASE) else -ifeq ($(inproj),1) +ifneq ($(inproj),0) else $(error Current working directory not under $$PROJECT_BASE) endif