macOS: fix some crash while using gfortran from homebrew or other brand 46/20846/7
Clément DAVID [Tue, 12 Feb 2019 17:11:12 +0000 (18:11 +0100)]
http://bugzilla.scilab.org/show_bug.cgi?id=13697
http://bugzilla.scilab.org/show_bug.cgi?id=13852
http://bugzilla.scilab.org/show_bug.cgi?id=13857

Change-Id: Ib7684024b76effb4d128aecfe5dff4ada291b752

scilab/modules/differential_equations/Makefile.am
scilab/modules/differential_equations/Makefile.in
scilab/modules/elementary_functions/Makefile.am
scilab/modules/elementary_functions/Makefile.in
scilab/modules/sparse/Makefile.am
scilab/modules/sparse/Makefile.in

index b37e64d..40acdfb 100644 (file)
@@ -133,7 +133,11 @@ else
 noinst_LTLIBRARIES = libscidifferential_equations-algo.la libscidifferential_equations.la
 endif
 
-
+if IS_MACOSX
+# enforce -O0 for some files
+src/fortran/colnew.lo: src/fortran/colnew.f
+       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/colnew.lo src/fortran/colnew.f
+endif
 
 libscidifferential_equations_algo_la_SOURCES = $(DIFFERENTIAL_EQUATIONS_C_SOURCES) $(DIFFERENTIAL_EQUATIONS_FORTRAN_SOURCES) $(DIFFERENTIAL_EQUATIONS_CPP_SOURCES)
 libscidifferential_equations_la_SOURCES = $(GATEWAY_FORTRAN_SOURCES) $(GATEWAY_CPP_SOURCES) $(GATEWAY_C_SOURCES)
index b3dc7b1..409798d 100644 (file)
@@ -1738,6 +1738,11 @@ uninstall-am: uninstall-libscidifferential_equations_la_etcDATA \
        uninstall-pkglibLTLIBRARIES
 
 
+# enforce -O0 for some files
+@IS_MACOSX_TRUE@src/fortran/colnew.lo: src/fortran/colnew.f
+@IS_MACOSX_TRUE@       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/colnew.lo src/fortran/colnew.f
+
+
 # This target enables tests for Scilab
 check-local: $(top_builddir)/scilab-bin test
        if test -d $(mydatadir)/tests; then \
index 6239dd1..47db684 100644 (file)
@@ -417,6 +417,11 @@ libdummy_elementary_functions_la-unsfdcopy.lo: src/c/unsfdcopy.c
 libdummy_elementary_functions_la-icopy.lo: src/fortran/linpack/icopy.f
        $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o libdummy_elementary_functions_la-icopy.lo `test -f 'src/fortran/linpack/icopy.f' || echo '$(srcdir)/'`src/fortran/linpack/icopy.f
 
+if IS_MACOSX
+# enforce -O0 for some file due to macOS crash
+src/fortran/slatec/dtensbs.lo: src/fortran/slatec/dtensbs.f
+       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/slatec/dtensbs.lo src/fortran/slatec/dtensbs.f
+endif
 
 #### Target ######
 modulename=elementary_functions
index 7cd78f3..9822a41 100644 (file)
@@ -3438,6 +3438,10 @@ libdummy_elementary_functions_la-unsfdcopy.lo: src/c/unsfdcopy.c
 libdummy_elementary_functions_la-icopy.lo: src/fortran/linpack/icopy.f
        $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o libdummy_elementary_functions_la-icopy.lo `test -f 'src/fortran/linpack/icopy.f' || echo '$(srcdir)/'`src/fortran/linpack/icopy.f
 
+# enforce -O0 for some file due to macOS crash
+@IS_MACOSX_TRUE@src/fortran/slatec/dtensbs.lo: src/fortran/slatec/dtensbs.f
+@IS_MACOSX_TRUE@       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/slatec/dtensbs.lo src/fortran/slatec/dtensbs.f
+
 # This target enables tests for Scilab
 check-local: $(top_builddir)/scilab-bin test
        if test -d $(mydatadir)/tests; then \
index ded7394..f7d0b0c 100644 (file)
@@ -77,7 +77,17 @@ else
 noinst_LTLIBRARIES = libscisparse-algo.la libscisparse.la
 endif
 
+if IS_MACOSX
+#enforce -O0 for some files due to macOS crash
+src/fortran/blkfct.lo: src/fortran/blkfct.f
+       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/blkfct.lo src/fortran/blkfct.f
 
+src/fortran/symfct.lo: src/fortran/symfct.f
+       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/symfct.lo src/fortran/symfct.f
+
+src/fortran/ordmmd.lo: src/fortran/ordmmd.f
+       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/ordmmd.lo src/fortran/ordmmd.f
+endif
 
 libscisparse_algo_la_SOURCES = $(SPARSE_C_SOURCES) $(SPARSE_FORTRAN_SOURCES)
 libscisparse_la_SOURCES = $(GATEWAY_CPP_SOURCES)
@@ -98,13 +108,13 @@ libscisparse_la_rootdir = $(mydatadir)
 libscisparse_la_root_DATA =  license.txt
 
 
-#### sparse : init scripts ####
+#### sparse : init scripts ####
 libscisparse_la_etcdir = $(mydatadir)/etc
 libscisparse_la_etc_DATA = \
     etc/sparse.quit \
     etc/sparse.start
 
-#### sparse : gateway declaration ####
+#### sparse : gateway declaration ####
 libscisparse_la_sci_gatewaydir = $(mydatadir)/sci_gateway
 libscisparse_la_sci_gateway_DATA =
 
index 565720a..27c6bb7 100644 (file)
@@ -690,14 +690,14 @@ modulename = sparse
 libscisparse_la_rootdir = $(mydatadir)
 libscisparse_la_root_DATA = license.txt
 
-#### sparse : init scripts ####
+#### sparse : init scripts ####
 libscisparse_la_etcdir = $(mydatadir)/etc
 libscisparse_la_etc_DATA = \
     etc/sparse.quit \
     etc/sparse.start
 
 
-#### sparse : gateway declaration ####
+#### sparse : gateway declaration ####
 libscisparse_la_sci_gatewaydir = $(mydatadir)/sci_gateway
 libscisparse_la_sci_gateway_DATA = 
 
@@ -1581,6 +1581,19 @@ uninstall-am: uninstall-libscisparse_la_etcDATA \
        uninstall-pkglibLTLIBRARIES
 
 
+# enforce -O0 for some file due to macOS crash
+@IS_MACOSX_TRUE@src/fortran/blkfct.lo: src/fortran/blkfct.f
+@IS_MACOSX_TRUE@       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/blkfct.lo src/fortran/blkfct.f
+
+# enforce -O0 for some file due to macOS crash
+@IS_MACOSX_TRUE@src/fortran/symfct.lo: src/fortran/symfct.f
+@IS_MACOSX_TRUE@       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/symfct.lo src/fortran/symfct.f
+
+# enforce -O0 for some file due to macOS crash
+@IS_MACOSX_TRUE@src/fortran/ordmmd.lo: src/fortran/ordmmd.f
+@IS_MACOSX_TRUE@       $(LIBTOOL) $(AM_V_lt)  --tag=F77 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(F77) $(AM_FFLAGS) $(FFLAGS) -O0 -c -o src/fortran/ordmmd.lo src/fortran/ordmmd.f
+
+
 # This target enables tests for Scilab
 check-local: $(top_builddir)/scilab-bin test
        if test -d $(mydatadir)/tests; then \