summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXianyi <xianyi@iscas.ac.cn>2011-09-18 17:00:29 +0800
committerXianyi <xianyi@iscas.ac.cn>2011-09-18 17:00:29 +0800
commit8de2ba67dd071130047980629080443544a03849 (patch)
tree1ea423ee62ee38a9136471c9f4ebc050909cf0f8
parent7b410b7f0e94edde2a606593086694ae6bb17be8 (diff)
parent1d31c79dc938183203be5e16cc6851a0bfa1a5e6 (diff)
downloadopenblas-8de2ba67dd071130047980629080443544a03849.tar.gz
openblas-8de2ba67dd071130047980629080443544a03849.tar.bz2
openblas-8de2ba67dd071130047980629080443544a03849.zip
Merge branch 'hotfix-0.1alpha2.4' into develop
-rw-r--r--Changelog.txt17
-rw-r--r--Makefile14
-rw-r--r--Makefile.install70
-rw-r--r--Makefile.rule2
-rw-r--r--Makefile.system8
-rw-r--r--exports/Makefile2
6 files changed, 78 insertions, 35 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 7d8a06edb..48c5a727d 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,5 +1,22 @@
OpenBLAS ChangeLog
====================================================================
+Version 0.1 alpha2.4
+18-Sep-2011
+common:
+ * Fixed a bug about installation. The header file "fblas77.h"
+ works fine now.
+ * Fixed #61 a building bug about setting TARGET and DYNAMIC_ARCH.
+ * Try to handle absolute path of shared library in OSX. (#57)
+ Thank Dr Kane O'Donnell.
+ * Changed the installation folder layout to $(PREFIX)/include and
+ $(PREFIX)/lib
+
+x86/x86_64:
+ * Fixed #58 zdot/xdot SEGFAULT bug with GCC-4.6 on x86. According
+ to i386 calling convention, The callee should remove the first
+ hidden parameter.Thank Mr. John for this patch.
+
+====================================================================
Version 0.1 alpha2.3
5-Sep-2011
diff --git a/Makefile b/Makefile
index d86fbadf3..56d491077 100644
--- a/Makefile
+++ b/Makefile
@@ -56,6 +56,20 @@ ifndef SMP
else
@echo " (Multi threaded; Max num-threads is $(NUM_THREADS))"
endif
+
+ifeq ($(OSNAME), Darwin)
+ @echo "WARNING: If you plan to use the dynamic library $(LIBDYNNAME), you must run:"
+ @echo
+ @echo "\"make PREFIX=/your_installation_path/ install\"."
+ @echo
+ @echo "(or set PREFIX in Makefile.rule and run make install."
+ @echo "If you want to move the .dylib to a new location later, make sure you change"
+ @echo "the internal name of the dylib with:"
+ @echo
+ @echo "install_name_tool -id /new/absolute/path/to/$(LIBDYNNAME) $(LIBDYNNAME)"
+endif
+ @echo
+ @echo "To install the library, you can run \"make PREFIX=/path/to/your/installation install\"."
@echo
shared :
diff --git a/Makefile.install b/Makefile.install
index 80dafc9c6..2778a491f 100644
--- a/Makefile.install
+++ b/Makefile.install
@@ -3,6 +3,9 @@ export GOTOBLAS_MAKEFILE = 1
-include $(TOPDIR)/Makefile.conf_last
include ./Makefile.system
+OPENBLAS_INCLUDE_DIR:=$(PREFIX)/include
+OPENBLAS_LIBRARY_DIR:=$(PREFIX)/lib
+
.PHONY : install
.NOTPARALLEL : install
@@ -11,54 +14,57 @@ lib.grd :
install : lib.grd
@-mkdir -p $(PREFIX)
- @echo Generating openblas_config.h in $(PREFIX)
+ @-mkdir -p $(OPENBLAS_INCLUDE_DIR)
+ @-mkdir -p $(OPENBLAS_LIBRARY_DIR)
+ @echo Generating openblas_config.h in $(OPENBLAS_INCLUDE_DIR)
#for inc
- @echo \#ifndef OPENBLAS_CONFIG_H > $(PREFIX)/openblas_config.h
- @echo \#define OPENBLAS_CONFIG_H >> $(PREFIX)/openblas_config.h
- @cat config_last.h >> $(PREFIX)/openblas_config.h
- @echo \#define VERSION \" OpenBLAS $(VERSION) \" >> $(PREFIX)/openblas_config.h
- @cat openblas_config_template.h >> $(PREFIX)/openblas_config.h
- @echo \#endif >> $(PREFIX)/openblas_config.h
+ @echo \#ifndef OPENBLAS_CONFIG_H > $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
+ @echo \#define OPENBLAS_CONFIG_H >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
+ @cat config_last.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
+ @echo \#define VERSION \" OpenBLAS $(VERSION) \" >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
+ @cat openblas_config_template.h >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
+ @echo \#endif >> $(OPENBLAS_INCLUDE_DIR)/openblas_config.h
- @echo Generating f77blas.h in $(PREFIX)
- @echo \#ifndef OPENBLAS_F77BLAS_H > $(PREFIX)/f77blas.h
- @echo \#define OPENBLAS_F77BLAS_H >> $(PREFIX)/f77blas.h
- @echo \#include \"openblas_config.h\" >> $(PREFIX)/f77blas.h
- @cat common_interface.h >> $(PREFIX)/f77blas.h
- @echo \#endif >> $(PREFIX)/f77blas.h
+ @echo Generating f77blas.h in $(OPENBLAS_INCLUDE_DIR)
+ @echo \#ifndef OPENBLAS_F77BLAS_H > $(OPENBLAS_INCLUDE_DIR)/f77blas.h
+ @echo \#define OPENBLAS_F77BLAS_H >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h
+ @echo \#include \"openblas_config.h\" >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h
+ @cat common_interface.h >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h
+ @echo \#endif >> $(OPENBLAS_INCLUDE_DIR)/f77blas.h
- @echo Generating cblas.h in $(PREFIX)
- @sed 's/common/openblas_config/g' cblas.h > $(PREFIX)/cblas.h
+ @echo Generating cblas.h in $(OPENBLAS_INCLUDE_DIR)
+ @sed 's/common/openblas_config/g' cblas.h > $(OPENBLAS_INCLUDE_DIR)/cblas.h
#for install static library
- @echo Copy the static library to $(PREFIX)
- @cp $(LIBNAME) $(PREFIX)
- @-ln -fs $(PREFIX)/$(LIBNAME) $(PREFIX)/libopenblas.$(LIBSUFFIX)
+ @echo Copy the static library to $(OPENBLAS_LIBRARY_DIR)
+ @cp $(LIBNAME) $(OPENBLAS_LIBRARY_DIR)
+ @-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.$(LIBSUFFIX)
#for install shared library
- @echo Copy the shared library to $(PREFIX)
+ @echo Copy the shared library to $(OPENBLAS_LIBRARY_DIR)
ifeq ($(OSNAME), Linux)
- -cp $(LIBSONAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
+ -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so
endif
ifeq ($(OSNAME), FreeBSD)
- -cp $(LIBSONAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
+ -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so
endif
ifeq ($(OSNAME), NetBSD)
- -cp $(LIBSONAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
+ -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so
endif
-ifeq ($(OSNAME), Darwin)
- -cp $(LIBDYNNAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBDYNNAME) $(PREFIX)/libopenblas.dylib
+ifeq ($(OSNAME), Darwin)
+ -cp $(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)
+ -install_name_tool -id $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dylib
endif
ifeq ($(OSNAME), WINNT)
- -cp $(LIBDLLNAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBDLLNAME) $(PREFIX)/libopenblas.dll
+ -cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dll
endif
ifeq ($(OSNAME), CYGWIN_NT)
- -cp $(LIBDLLNAME) $(PREFIX)
- -ln -fs $(PREFIX)/$(LIBDLLNAME) $(PREFIX)/libopenblas.dll
+ -cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)
+ -ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dll
endif
@echo Install OK!
diff --git a/Makefile.rule b/Makefile.rule
index 3b32ded84..a7ba203fc 100644
--- a/Makefile.rule
+++ b/Makefile.rule
@@ -3,7 +3,7 @@
#
# This library's version
-VERSION = 0.1alpha2.3
+VERSION = 0.1alpha2.4
# You can specify the target architecture, otherwise it's
# automatically detected.
diff --git a/Makefile.system b/Makefile.system
index f0487ac50..84f41a78f 100644
--- a/Makefile.system
+++ b/Makefile.system
@@ -27,7 +27,13 @@ HOSTCC = $(CC)
endif
ifdef TARGET
-GETARCH_FLAGS += -DFORCE_$(TARGET)
+GETARCH_FLAGS := -DFORCE_$(TARGET)
+endif
+
+#TARGET_CORE will override TARGET which is used in DYNAMIC_ARCH=1.
+#
+ifdef TARGET_CORE
+GETARCH_FLAGS := -DFORCE_$(TARGET_CORE)
endif
ifdef INTERFACE64
diff --git a/exports/Makefile b/exports/Makefile
index f4c9314f9..08f496501 100644
--- a/exports/Makefile
+++ b/exports/Makefile
@@ -85,7 +85,7 @@ libgoto_hpl.def : gensymbol
perl ./gensymbol win2khpl $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) > $(@F)
$(LIBDYNNAME) : ../$(LIBNAME) osx.def
- $(PREFIX)gcc $(CFLAGS) -all_load -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def $(FEXTRALIB)
+ $(CC) $(CFLAGS) -all_load -headerpad_max_install_names -install_name $(CURDIR)/../$(LIBDYNNAME) -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def $(FEXTRALIB)
symbol.$(SUFFIX) : symbol.S
$(CC) $(CFLAGS) -c -o $(@F) $^