diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 8b73fa6..ea7ca04 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -371,6 +371,7 @@ switch $(HOST_PLATFORM) { case linux : hostDebugFlags ?= -ggdb ; case freebsd : hostDebugFlags ?= -ggdb ; case darwin : hostDebugFlags ?= -ggdb ; + case openbsd : hostDebugFlags ?= -ggdb ; case * : hostDebugFlags ?= -g ; } @@ -586,7 +587,7 @@ HOST_BE_API_C++FLAGS = ; # platform, e.g. containing missing POSIX/GNU headers. HOST_HDRS += [ FDirName $(HAIKU_TOP) headers build host $(HOST_PLATFORM) ] ; -if $(HOST_PLATFORM) = freebsd { +if $(HOST_PLATFORM) = freebsd || $(HOST_PLATFORM) = openbsd { # FreeBSD's gcc doesn't include /usr/local/* in its search paths, # though that's where most things from ports wind up being installed. HOST_HDRS += /usr/local/include ; @@ -743,6 +744,7 @@ switch $(TARGET_PLATFORM) { case linux : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_LINUX ; case freebsd : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_FREEBSD ; case darwin : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_DARWIN ; + case openbsd : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_OPENBSD ; case cygwin : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_CYGWIN ; case sunos : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_SUNOS ; case libbe_test : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_LIBBE_TEST ; @@ -757,6 +759,7 @@ switch $(HOST_PLATFORM) { case linux : HOST_DEFINES += HAIKU_HOST_PLATFORM_LINUX ; case freebsd : HOST_DEFINES += HAIKU_HOST_PLATFORM_FREEBSD ; case darwin : HOST_DEFINES += HAIKU_HOST_PLATFORM_DARWIN ; + case openbsd : HOST_DEFINES += HAIKU_HOST_PLATFORM_OPENBSD ; case cygwin : HOST_DEFINES += HAIKU_HOST_PLATFORM_CYGWIN ; case sunos : HOST_DEFINES += HAIKU_HOST_PLATFORM_SUNOS ; } diff --git a/build/scripts/build_cross_tools_gcc4 b/build/scripts/build_cross_tools_gcc4 index ea778e3..8243cf4 100755 --- a/build/scripts/build_cross_tools_gcc4 +++ b/build/scripts/build_cross_tools_gcc4 @@ -199,7 +199,7 @@ cd "$gccObjDir" CFLAGS="-O2" CXXFLAGS="-O2" "$gccSourceDir/configure" \ --prefix="$installDir" $buildHostSpec --target=$haikuMachine \ --disable-nls --disable-shared --with-system-zlib \ - --enable-languages=c,c++ --enable-lto --enable-frame-pointer \ + --enable-languages=c,c++ --disable-lto --enable-frame-pointer \ --with-sysroot="$sysrootDir" \ $gccConfigureArgs \ || exit 1 diff --git a/headers/build/BeOSBuildCompatibility.h b/headers/build/BeOSBuildCompatibility.h index 95c00d0..4f0f07f 100644 --- a/headers/build/BeOSBuildCompatibility.h +++ b/headers/build/BeOSBuildCompatibility.h @@ -51,7 +51,9 @@ extern size_t strlcpy(char* dest, const char* source, size_t length); extern size_t strlcat(char* dest, const char* source, size_t length); #endif -#if defined(HAIKU_HOST_PLATFORM_FREEBSD) || defined(HAIKU_HOST_PLATFORM_DARWIN) +#if defined(HAIKU_HOST_PLATFORM_FREEBSD) \ + || defined(HAIKU_HOST_PLATFORM_DARWIN) \ + || defined(HAIKU_HOST_PLATFORM_OPENBSD) extern size_t strnlen(const char* string, size_t length); #endif diff --git a/src/build/libroot/errors.cpp b/src/build/libroot/errors.cpp index e0691a9..34a34ca 100644 --- a/src/build/libroot/errors.cpp +++ b/src/build/libroot/errors.cpp @@ -75,18 +75,24 @@ init_error_map() ADD_ERROR(EOPNOTSUPP); ADD_ERROR(ENOTSOCK); ADD_ERROR(EHOSTDOWN); - ADD_ERROR(EBADMSG); + #ifdef EBADMSG + ADD_ERROR(EBADMSG); + #endif #ifdef ECANCELED ADD_ERROR(ECANCELED); #endif ADD_ERROR(EDESTADDRREQ); ADD_ERROR(EDQUOT); ADD_ERROR(EIDRM); - ADD_ERROR(EMULTIHOP); + #ifdef EMULTIHOP + ADD_ERROR(EMULTIHOP); + #endif #ifdef ENODATA ADD_ERROR(ENODATA); #endif - ADD_ERROR(ENOLINK); + #ifdef ENOLINK + ADD_ERROR(ENOLINK); + #endif #ifdef ENOSR ADD_ERROR(ENOSR); #endif @@ -94,7 +100,9 @@ init_error_map() ADD_ERROR(ENOSTR); #endif ADD_ERROR(ENOTSUP); - ADD_ERROR(EPROTO); + #ifdef EPROTO + ADD_ERROR(EPROTO); + #endif #ifdef ETIME ADD_ERROR(ETIME); #endif diff --git a/src/build/libsolv/Jamfile b/src/build/libsolv/Jamfile index 9f3f9fa..0309800 100644 --- a/src/build/libsolv/Jamfile +++ b/src/build/libsolv/Jamfile @@ -30,6 +30,8 @@ switch $(HOST_PLATFORM) { DEFINES += HAVE_FOPENCOOKIE ; case freebsd : DEFINES += HAVE_FUNOPEN ; + case openbsd : + DEFINES += HAVE_FUNOPEN ; case darwin : DEFINES += HAVE_FUNOPEN HAVE_QSORT_R ; case * : diff --git a/src/tools/fs_shell/unistd.cpp b/src/tools/fs_shell/unistd.cpp index bcc5bcd..b4f8acc 100644 --- a/src/tools/fs_shell/unistd.cpp +++ b/src/tools/fs_shell/unistd.cpp @@ -21,7 +21,8 @@ # include #else # if defined(HAIKU_HOST_PLATFORM_FREEBSD) \ - || defined(HAIKU_HOST_PLATFORM_DARWIN) + || defined(HAIKU_HOST_PLATFORM_DARWIN) \ + || defined(HAIKU_HOST_PLATFORM_OPENBSD) # include # include # include