1) Refs #575. Remove g77 from compiler list.
authorZhang Xianyi <traits.zhang@gmail.com>
Tue, 19 May 2015 05:01:04 +0000 (00:01 -0500)
committerZhang Xianyi <traits.zhang@gmail.com>
Tue, 19 May 2015 05:01:04 +0000 (00:01 -0500)
2) If OpenBLAS cannot find Fortran compiler, it will only build BLAS
(without LAPACK).

Makefile
Makefile.system
exports/Makefile
f_check

index f8e1345..6ad87d8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -133,7 +133,7 @@ ifeq ($(CORE), UNKOWN)
        $(error OpenBLAS: Detecting CPU failed. Please set TARGET explicitly, e.g. make TARGET=your_cpu_target. Please read README for the detail.)
 endif
 ifeq ($(NOFORTRAN), 1)
-       $(error OpenBLAS: Detecting fortran compiler failed. Please install fortran compiler, e.g. gfortran, ifort, openf90.)
+       $(info OpenBLAS: Detecting fortran compiler failed. Cannot compile LAPACK. Only compile BLAS.)
 endif
 ifeq ($(NO_STATIC), 1)
 ifeq ($(NO_SHARED), 1)
index 78eeb12..fcaa49a 100644 (file)
@@ -202,6 +202,12 @@ DLLWRAP = $(CROSS_SUFFIX)dllwrap
 OBJCOPY = $(CROSS_SUFFIX)objcopy
 OBJCONV = $(CROSS_SUFFIX)objconv
 
+
+# For detect fortran failed, only build BLAS.
+ifeq ($(NOFORTRAN), 1)
+NO_LAPACK = 1
+endif
+
 #
 #  OS dependent settings
 #
index 1fdaf22..177e975 100644 (file)
@@ -100,8 +100,8 @@ else
        $(OBJCONV) @objconv.def ../$(LIBNAME) ../$(LIBNAME).renamed
 $(LIBDYNNAME) : ../$(LIBNAME).renamed osx.def
 endif
-ifeq ($(NOFORTRAN), 2)
-#only build cblas without Fortran
+ifeq ($(NOFORTRAN), $(filter $(NOFORTRAN),1 2))
+#only build without Fortran
        $(CC) $(CFLAGS) -all_load -headerpad_max_install_names -install_name $(CURDIR)/../$(LIBDYNNAME) -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def  $(FEXTRALIB)
 else
        $(FC) $(FFLAGS) -all_load -headerpad_max_install_names -install_name $(CURDIR)/../$(LIBDYNNAME) -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def  $(FEXTRALIB)
diff --git a/f_check b/f_check
index 7c6cc78..b7a48a6 100644 (file)
--- a/f_check
+++ b/f_check
@@ -3,11 +3,11 @@
 #
 # 1. Not specified
 #   1.1 Automatically detect, then check compiler
-#   1.2 If no fortran compiler is detected, g77 is default with NOFORTRAN definition
+#   1.2 If no fortran compiler is detected, gfortran is default with NOFORTRAN definition
 # 2. Specified
 #   2.1 If path is correct, check compiler
 #   2.2 If path is not correct, but still valid compiler name, force setting
-#     2.2.2 Path is not correct, invalid compiler name, then g77 is default with NOFORTRAN definition
+#     2.2.2 Path is not correct, invalid compiler name, then gfortran is default with NOFORTRAN definition
 #
 
 $makefile = shift(@ARGV);
@@ -25,7 +25,7 @@ $compiler = "" if $compiler eq "f77";
 
 if ($compiler eq "") {
 
-    @lists = ("g77", "g95", "gfortran", "frt", "fort", "openf90", "openf95",
+    @lists = ("g95", "gfortran", "frt", "fort", "openf90", "openf95",
              "sunf77", "sunf90", "sunf95",
               "xlf95", "xlf90", "xlf",
               "ppuf77", "ppuf95", "ppuf90", "ppuxlf",
@@ -49,8 +49,8 @@ OUTER:
 if ($compiler eq "") {
 
     $nofortran = 1;
-    $compiler = "g77";
-    $vendor = G77;
+    $compiler = "gfortran";
+    $vendor = GFORTRAN;
     $bu       = "_";
 
 } else {
@@ -197,8 +197,8 @@ if ($compiler eq "") {
 
        if ($vendor eq "") {
            $nofortran = 1;
-           $compiler = "g77";
-           $vendor = G77;
+           $compiler = "gfortran";
+           $vendor = GFORTRAN;
            $bu       = "_";
            $openmp = "";
        }