Haiku supporting patchestags/v0.3.3
| @@ -97,7 +97,7 @@ endif | |||||
| shared : | shared : | ||||
| ifndef NO_SHARED | ifndef NO_SHARED | ||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android)) | |||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku)) | |||||
| @$(MAKE) -C exports so | @$(MAKE) -C exports so | ||||
| @ln -fs $(LIBSONAME) $(LIBPREFIX).so | @ln -fs $(LIBSONAME) $(LIBPREFIX).so | ||||
| @ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) | @ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) | ||||
| @@ -267,6 +267,8 @@ ifeq ($(F_COMPILER), GFORTRAN) | |||||
| ifdef SMP | ifdef SMP | ||||
| ifeq ($(OSNAME), WINNT) | ifeq ($(OSNAME), WINNT) | ||||
| -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc | -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
| else ifeq ($(OSNAME), Haiku) | |||||
| -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc | |||||
| else | else | ||||
| -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc | -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc | ||||
| endif | endif | ||||
| @@ -66,7 +66,7 @@ endif | |||||
| #for install shared library | #for install shared library | ||||
| ifndef NO_SHARED | ifndef NO_SHARED | ||||
| @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) | @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) | ||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android)) | |||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku)) | |||||
| @install -pm755 $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" | @install -pm755 $(LIBSONAME) "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" | ||||
| @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ | @cd "$(DESTDIR)$(OPENBLAS_LIBRARY_DIR)" ; \ | ||||
| ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \ | ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \ | ||||
| @@ -64,6 +64,7 @@ $os = WINNT if ($data =~ /OS_WINNT/); | |||||
| $os = CYGWIN_NT if ($data =~ /OS_CYGWIN_NT/); | $os = CYGWIN_NT if ($data =~ /OS_CYGWIN_NT/); | ||||
| $os = Interix if ($data =~ /OS_INTERIX/); | $os = Interix if ($data =~ /OS_INTERIX/); | ||||
| $os = Android if ($data =~ /OS_ANDROID/); | $os = Android if ($data =~ /OS_ANDROID/); | ||||
| $os = Haiku if ($data =~ /OS_HAIKU/); | |||||
| $architecture = x86 if ($data =~ /ARCH_X86/); | $architecture = x86 if ($data =~ /ARCH_X86/); | ||||
| $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | ||||
| @@ -105,6 +105,10 @@ extern "C" { | |||||
| #endif | #endif | ||||
| #endif | #endif | ||||
| #ifdef OS_HAIKU | |||||
| #define NO_SYSV_IPC | |||||
| #endif | |||||
| #ifdef OS_WINDOWS | #ifdef OS_WINDOWS | ||||
| #ifdef ATOM | #ifdef ATOM | ||||
| #define GOTO_ATOM ATOM | #define GOTO_ATOM ATOM | ||||
| @@ -101,6 +101,10 @@ OS_INTERIX | |||||
| OS_LINUX | OS_LINUX | ||||
| #endif | #endif | ||||
| #if defined(__HAIKU__) | |||||
| OS_HAIKU | |||||
| #endif | |||||
| #if defined(__i386) || defined(_X86) | #if defined(__i386) || defined(_X86) | ||||
| ARCH_X86 | ARCH_X86 | ||||
| #endif | #endif | ||||
| @@ -70,7 +70,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| /*********************************************************************/ | /*********************************************************************/ | ||||
| #include "common.h" | #include "common.h" | ||||
| #if defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DARWIN) || defined(OS_ANDROID) || defined(OS_SUNOS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) | |||||
| #if defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DARWIN) || defined(OS_ANDROID) || defined(OS_SUNOS) || defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_HAIKU) | |||||
| #include <dlfcn.h> | #include <dlfcn.h> | ||||
| #include <signal.h> | #include <signal.h> | ||||
| #include <sys/resource.h> | #include <sys/resource.h> | ||||
| @@ -108,6 +108,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #include <sys/resource.h> | #include <sys/resource.h> | ||||
| #endif | #endif | ||||
| #ifdef OS_HAIKU | |||||
| #include <unistd.h> | |||||
| #endif | |||||
| #if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) | #if defined(OS_FREEBSD) || defined(OS_OPENBSD) || defined(OS_DRAGONFLY) || defined(OS_DARWIN) | ||||
| #include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
| #include <sys/resource.h> | #include <sys/resource.h> | ||||
| @@ -238,6 +242,14 @@ int get_num_procs(void) { | |||||
| } | } | ||||
| #endif | #endif | ||||
| #ifdef OS_HAIKU | |||||
| int get_num_procs(void) { | |||||
| static int nums = 0; | |||||
| if (!nums) nums = sysconf(_SC_NPROCESSORS_CONF); | |||||
| return nums; | |||||
| } | |||||
| #endif | |||||
| #ifdef OS_WINDOWS | #ifdef OS_WINDOWS | ||||
| int get_num_procs(void) { | int get_num_procs(void) { | ||||
| @@ -122,7 +122,7 @@ endif | |||||
| dllinit.$(SUFFIX) : dllinit.c | dllinit.$(SUFFIX) : dllinit.c | ||||
| $(CC) $(CFLAGS) -c -o $(@F) -s $< | $(CC) $(CFLAGS) -c -o $(@F) -s $< | ||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android)) | |||||
| ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku)) | |||||
| so : ../$(LIBSONAME) | so : ../$(LIBSONAME) | ||||