Mercurial > hg > mxe-octave-anirudha
view src/msvc-octave-1.patch @ 3151:2069703f3826
[MSVC] don't auto-define _WIN32_WINNT: include patch from upstream,
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Thu, 18 Jul 2013 16:19:54 -0400 |
parents | 433d1bb3cafb |
children |
line wrap: on
line source
diff -ur octave-3.7.5-orig/configure.ac octave-3.7.5/configure.ac --- octave-3.7.5-orig/configure.ac 2013-05-14 03:12:10 -0400 +++ octave-3.7.5/configure.ac 2013-07-18 11:27:26 -0400 @@ -752,7 +752,7 @@ dnl Use -isystem so we don't get warnings from llvm headers LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" LLVM_CXXFLAGS= - LLVM_LDFLAGS="-L`$LLVM_CONFIG --libdir`" + LLVM_LDFLAGS="`$LLVM_CONFIG --ldflags`" LLVM_LIBS=`$LLVM_CONFIG --libs` dnl @@ -1186,7 +1186,7 @@ XTRA_CRUFT_SH_LDFLAGS= if test $have_msvc = yes; then FLIBS="$FLIBS -lkernel32" - XTRA_CRUFT_SH_LDFLAGS="-Wl,-def:cruft/cruft.def" + XTRA_CRUFT_SH_LDFLAGS="-Wl,cruft/cruft.def" fi AC_SUBST(XTRA_CRUFT_SH_LDFLAGS) diff -ur octave-3.7.5-orig/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp octave-3.7.5/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp --- octave-3.7.5-orig/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp 2013-05-13 05:58:35 -0400 +++ octave-3.7.5/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp 2013-07-18 11:28:12 -0400 @@ -40,7 +40,9 @@ #include <stdio.h> #include <stdarg.h> #define WIN32_LEAN_AND_MEAN +#if ! defined (_WIN32_WINNT) && ! defined (NTDDI_VERSION) #define _WIN32_WINNT 0x0500 +#endif #include <windows.h> #include <cstring> #include <csignal> diff -ur octave-3.7.5-orig/libgui/qterminal-module.mk octave-3.7.5/libgui/qterminal-module.mk --- octave-3.7.5-orig/libgui/qterminal-module.mk 2013-05-12 15:01:12 -0400 +++ octave-3.7.5/libgui/qterminal-module.mk 2013-07-18 11:27:26 -0400 @@ -50,7 +50,7 @@ qterminal_libqterminal_la_MOC += \ qterminal/libqterminal/win32/moc-QWinTerminalImpl.cc -qterminal_libqterminal_la_CPPFLAGS += -DUNICODE +qterminal_libqterminal_la_CPPFLAGS += -DUNICODE -Zc:wchar_t- # This flag is required to let MOC know about Q_OS_WIN32. MOC_CPPFLAGS += -DQ_OS_WIN32 diff -ur octave-3.7.5-orig/libgui/src/module.mk octave-3.7.5/libgui/src/module.mk --- octave-3.7.5-orig/libgui/src/module.mk 2013-05-12 17:21:10 -0400 +++ octave-3.7.5/libgui/src/module.mk 2013-07-18 11:27:26 -0400 @@ -152,7 +152,7 @@ nodist_src_libgui_src_la_SOURCES = $(octave_gui_MOC) $(octave_gui_RC) -src_libgui_src_la_CPPFLAGS = \ +src_libgui_src_la_CPPFLAGS = -DQSCINTILLA_DLL \ $(AM_CPPFLAGS) \ @OCTGUI_DLL_DEFS@ \ @QT_CPPFLAGS@ \ diff -ur octave-3.7.5-orig/libinterp/Makefile.am octave-3.7.5/libinterp/Makefile.am --- octave-3.7.5-orig/libinterp/Makefile.am 2013-04-16 11:26:09 -0400 +++ octave-3.7.5/libinterp/Makefile.am 2013-07-18 11:27:26 -0400 @@ -185,6 +185,7 @@ interpfcn/libinterpfcn.la \ corefcn/libcorefcn.la \ $(top_builddir)/liboctave/liboctave.la \ + $(top_builddir)/libgnu/libgnu.la \ $(LIBOCTINTERP_LINK_DEPS) # Increment these as needed and according to the rules in the libtool manual: diff -ur octave-3.7.5-orig/libinterp/corefcn/gcd.cc octave-3.7.5/libinterp/corefcn/gcd.cc --- octave-3.7.5-orig/libinterp/corefcn/gcd.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/libinterp/corefcn/gcd.cc 2013-07-18 11:27:26 -0400 @@ -74,7 +74,7 @@ template <typename FP> static std::complex<FP> -simple_gcd (const std::complex<FP>& a, const std::complex<FP>& b) +simple_gcd_cplx (const std::complex<FP>& a, const std::complex<FP>& b) { if (! xisinteger (a.real ()) || ! xisinteger (a.imag ()) || ! xisinteger (b.real ()) || ! xisinteger (b.imag ())) @@ -100,7 +100,7 @@ template <class T> static octave_int<T> -simple_gcd (const octave_int<T>& a, const octave_int<T>& b) +simple_gcd_int (const octave_int<T>& a, const octave_int<T>& b) { T aa = a.abs ().value (); T bb = b.abs ().value (); @@ -153,8 +153,8 @@ template <typename FP> static std::complex<FP> -extended_gcd (const std::complex<FP>& a, const std::complex<FP>& b, - std::complex<FP>& x, std::complex<FP>& y) +extended_gcd_cplx (const std::complex<FP>& a, const std::complex<FP>& b, + std::complex<FP>& x, std::complex<FP>& y) { if (! xisinteger (a.real ()) || ! xisinteger (a.imag ()) || ! xisinteger (b.real ()) || ! xisinteger (b.imag ())) @@ -199,8 +199,8 @@ template <class T> static octave_int<T> -extended_gcd (const octave_int<T>& a, const octave_int<T>& b, - octave_int<T>& x, octave_int<T>& y) +extended_gcd_int (const octave_int<T>& a, const octave_int<T>& b, + octave_int<T>& x, octave_int<T>& y) { T aa = a.abs ().value (); T bb = b.abs ().value (); @@ -229,9 +229,9 @@ return aa; } -template<class NDA> +template<class NDA, class F> static octave_value -do_simple_gcd (const octave_value& a, const octave_value& b) +do_simple_gcd (const octave_value& a, const octave_value& b, F fcn) { typedef typename NDA::element_type T; octave_value retval; @@ -241,13 +241,13 @@ // Optimize scalar case. T aa = octave_value_extract<T> (a); T bb = octave_value_extract<T> (b); - retval = simple_gcd (aa, bb); + retval = fcn (aa, bb); } else { NDA aa = octave_value_extract<NDA> (a); NDA bb = octave_value_extract<NDA> (b); - retval = binmap<T> (aa, bb, simple_gcd, "gcd"); + retval = binmap<T> (aa, bb, fcn, "gcd"); } return retval; @@ -265,18 +265,18 @@ case btyp_double: if (a.is_sparse_type () && b.is_sparse_type ()) { - retval = do_simple_gcd<SparseMatrix> (a, b); + retval = do_simple_gcd<SparseMatrix> (a, b, simple_gcd); break; } // fall through! case btyp_float: - retval = do_simple_gcd<NDArray> (a, b); + retval = do_simple_gcd<NDArray> (a, b, simple_gcd); break; #define MAKE_INT_BRANCH(X) \ case btyp_ ## X: \ - retval = do_simple_gcd<X ## NDArray> (a, b); \ + retval = do_simple_gcd<X ## NDArray> (a, b, simple_gcd_int<X ## _t>); \ break MAKE_INT_BRANCH (int8); @@ -291,11 +291,11 @@ #undef MAKE_INT_BRANCH case btyp_complex: - retval = do_simple_gcd<ComplexNDArray> (a, b); + retval = do_simple_gcd<ComplexNDArray> (a, b, simple_gcd_cplx<double>); break; case btyp_float_complex: - retval = do_simple_gcd<FloatComplexNDArray> (a, b); + retval = do_simple_gcd<FloatComplexNDArray> (a, b, simple_gcd_cplx<float>); break; default: @@ -309,10 +309,10 @@ return retval; } -template<class NDA> +template<class NDA, class F> static octave_value do_extended_gcd (const octave_value& a, const octave_value& b, - octave_value& x, octave_value& y) + octave_value& x, octave_value& y, F fcn) { typedef typename NDA::element_type T; octave_value retval; @@ -323,7 +323,7 @@ T aa = octave_value_extract<T> (a); T bb = octave_value_extract<T> (b); T xx, yy; - retval = extended_gcd (aa, bb, xx, yy); + retval = fcn (aa, bb, xx, yy); x = xx; y = yy; } @@ -354,7 +354,7 @@ { octave_quit (); - *gptr++ = extended_gcd (*aptr, *bptr, *xptr++, *yptr++); + *gptr++ = fcn (*aptr, *bptr, *xptr++, *yptr++); aptr += inca; bptr += incb; @@ -382,12 +382,12 @@ { case btyp_double: case btyp_float: - retval = do_extended_gcd<NDArray> (a, b, x, y); + retval = do_extended_gcd<NDArray> (a, b, x, y, extended_gcd); break; #define MAKE_INT_BRANCH(X) \ case btyp_ ## X: \ - retval = do_extended_gcd<X ## NDArray> (a, b, x, y); \ + retval = do_extended_gcd<X ## NDArray> (a, b, x, y, extended_gcd_int<X ## _t>); \ break MAKE_INT_BRANCH (int8); @@ -402,11 +402,11 @@ #undef MAKE_INT_BRANCH case btyp_complex: - retval = do_extended_gcd<ComplexNDArray> (a, b, x, y); + retval = do_extended_gcd<ComplexNDArray> (a, b, x, y, extended_gcd_cplx<double>); break; case btyp_float_complex: - retval = do_extended_gcd<FloatComplexNDArray> (a, b, x, y); + retval = do_extended_gcd<FloatComplexNDArray> (a, b, x, y, extended_gcd_cplx<float>); break; default: diff -ur octave-3.7.5-orig/libinterp/dldfcn/config-module.awk octave-3.7.5/libinterp/dldfcn/config-module.awk --- octave-3.7.5-orig/libinterp/dldfcn/config-module.awk 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/libinterp/dldfcn/config-module.awk 2013-07-18 11:27:26 -0400 @@ -71,7 +71,7 @@ } printf ("dldfcn_%s_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED_LDFLAG) %s $(OCT_LINK_OPTS)\n", basename, ldflags[i]); - printf ("dldfcn_%s_la_LIBADD = $(DLD_LIBOCTINTERP_LIBADD) ../liboctave/liboctave.la %s $(OCT_LINK_DEPS)\n", + printf ("dldfcn_%s_la_LIBADD = $(DLD_LIBOCTINTERP_LIBADD) ../liboctave/liboctave.la ../libgnu/libgnu.la %s $(OCT_LINK_DEPS)\n", basename, libraries[i]); } } diff -ur octave-3.7.5-orig/libinterp/interpfcn/graphics.cc octave-3.7.5/libinterp/interpfcn/graphics.cc --- octave-3.7.5-orig/libinterp/interpfcn/graphics.cc 2013-04-16 11:26:09 -0400 +++ octave-3.7.5/libinterp/interpfcn/graphics.cc 2013-07-18 11:27:26 -0400 @@ -10304,7 +10304,11 @@ break; } +#if defined (WIN32) && ! defined (__CYGWIN__) + Sleep (100); +#else octave_usleep (100000); +#endif OCTAVE_QUIT; diff -ur octave-3.7.5-orig/liboctave/array/CColVector.cc octave-3.7.5/liboctave/array/CColVector.cc --- octave-3.7.5-orig/liboctave/array/CColVector.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/CColVector.cc 2013-07-18 11:27:26 -0400 @@ -236,13 +236,13 @@ ColumnVector ComplexColumnVector::abs (void) const { - return do_mx_unary_map<double, Complex, std::abs> (*this); + return do_mx_unary_map_ref<double, Complex, std::abs> (*this); } ComplexColumnVector conj (const ComplexColumnVector& a) { - return do_mx_unary_map<Complex, Complex, std::conj<double> > (a); + return do_mx_unary_map_ref<Complex, Complex, std::conj<double> > (a); } // resize is the destructive equivalent for this one diff -ur octave-3.7.5-orig/liboctave/array/CMatrix.cc octave-3.7.5/liboctave/array/CMatrix.cc --- octave-3.7.5-orig/liboctave/array/CMatrix.cc 2013-04-16 11:26:09 -0400 +++ octave-3.7.5/liboctave/array/CMatrix.cc 2013-07-18 11:27:26 -0400 @@ -921,7 +921,7 @@ ComplexMatrix conj (const ComplexMatrix& a) { - return do_mx_unary_map<Complex, Complex, std::conj<double> > (a); + return do_mx_unary_map_ref<Complex, Complex, std::conj<double> > (a); } // resize is the destructive equivalent for this one @@ -3219,7 +3219,7 @@ Matrix ComplexMatrix::abs (void) const { - return do_mx_unary_map<double, Complex, std::abs> (*this); + return do_mx_unary_map_ref<double, Complex, std::abs> (*this); } ComplexMatrix diff -ur octave-3.7.5-orig/liboctave/array/CNDArray.cc octave-3.7.5/liboctave/array/CNDArray.cc --- octave-3.7.5-orig/liboctave/array/CNDArray.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/CNDArray.cc 2013-07-18 11:27:26 -0400 @@ -720,31 +720,31 @@ NDArray ComplexNDArray::abs (void) const { - return do_mx_unary_map<double, Complex, std::abs> (*this); + return do_mx_unary_map_ref<double, Complex, std::abs> (*this); } boolNDArray ComplexNDArray::isnan (void) const { - return do_mx_unary_map<bool, Complex, xisnan> (*this); + return do_mx_unary_map_ref<bool, Complex, xisnan> (*this); } boolNDArray ComplexNDArray::isinf (void) const { - return do_mx_unary_map<bool, Complex, xisinf> (*this); + return do_mx_unary_map_ref<bool, Complex, xisinf> (*this); } boolNDArray ComplexNDArray::isfinite (void) const { - return do_mx_unary_map<bool, Complex, xfinite> (*this); + return do_mx_unary_map_ref<bool, Complex, xfinite> (*this); } ComplexNDArray conj (const ComplexNDArray& a) { - return do_mx_unary_map<Complex, Complex, std::conj<double> > (a); + return do_mx_unary_map_ref<Complex, Complex, std::conj<double> > (a); } ComplexNDArray& diff -ur octave-3.7.5-orig/liboctave/array/CRowVector.cc octave-3.7.5/liboctave/array/CRowVector.cc --- octave-3.7.5-orig/liboctave/array/CRowVector.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/CRowVector.cc 2013-07-18 11:27:26 -0400 @@ -234,7 +234,7 @@ ComplexRowVector conj (const ComplexRowVector& a) { - return do_mx_unary_map<Complex, Complex, std::conj<double> > (a); + return do_mx_unary_map_ref<Complex, Complex, std::conj<double> > (a); } // resize is the destructive equivalent for this one diff -ur octave-3.7.5-orig/liboctave/array/fCColVector.cc octave-3.7.5/liboctave/array/fCColVector.cc --- octave-3.7.5-orig/liboctave/array/fCColVector.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/fCColVector.cc 2013-07-18 11:27:26 -0400 @@ -236,13 +236,13 @@ FloatColumnVector FloatComplexColumnVector::abs (void) const { - return do_mx_unary_map<float, FloatComplex, std::abs> (*this); + return do_mx_unary_map_ref<float, FloatComplex, std::abs> (*this); } FloatComplexColumnVector conj (const FloatComplexColumnVector& a) { - return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float> > (a); + return do_mx_unary_map_ref<FloatComplex, FloatComplex, std::conj<float> > (a); } // resize is the destructive equivalent for this one diff -ur octave-3.7.5-orig/liboctave/array/fCMatrix.cc octave-3.7.5/liboctave/array/fCMatrix.cc --- octave-3.7.5-orig/liboctave/array/fCMatrix.cc 2013-04-16 11:26:09 -0400 +++ octave-3.7.5/liboctave/array/fCMatrix.cc 2013-07-18 11:27:26 -0400 @@ -923,7 +923,7 @@ FloatComplexMatrix conj (const FloatComplexMatrix& a) { - return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float> > (a); + return do_mx_unary_map_ref<FloatComplex, FloatComplex, std::conj<float> > (a); } // resize is the destructive equivalent for this one @@ -3215,7 +3215,7 @@ FloatMatrix FloatComplexMatrix::abs (void) const { - return do_mx_unary_map<float, FloatComplex, std::abs> (*this); + return do_mx_unary_map_ref<float, FloatComplex, std::abs> (*this); } FloatComplexMatrix diff -ur octave-3.7.5-orig/liboctave/array/fCNDArray.cc octave-3.7.5/liboctave/array/fCNDArray.cc --- octave-3.7.5-orig/liboctave/array/fCNDArray.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/fCNDArray.cc 2013-07-18 11:27:26 -0400 @@ -717,31 +717,31 @@ FloatNDArray FloatComplexNDArray::abs (void) const { - return do_mx_unary_map<float, FloatComplex, std::abs> (*this); + return do_mx_unary_map_ref<float, FloatComplex, std::abs> (*this); } boolNDArray FloatComplexNDArray::isnan (void) const { - return do_mx_unary_map<bool, FloatComplex, xisnan> (*this); + return do_mx_unary_map_ref<bool, FloatComplex, xisnan> (*this); } boolNDArray FloatComplexNDArray::isinf (void) const { - return do_mx_unary_map<bool, FloatComplex, xisinf> (*this); + return do_mx_unary_map_ref<bool, FloatComplex, xisinf> (*this); } boolNDArray FloatComplexNDArray::isfinite (void) const { - return do_mx_unary_map<bool, FloatComplex, xfinite> (*this); + return do_mx_unary_map_ref<bool, FloatComplex, xfinite> (*this); } FloatComplexNDArray conj (const FloatComplexNDArray& a) { - return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float> > (a); + return do_mx_unary_map_ref<FloatComplex, FloatComplex, std::conj<float> > (a); } FloatComplexNDArray& diff -ur octave-3.7.5-orig/liboctave/array/fCRowVector.cc octave-3.7.5/liboctave/array/fCRowVector.cc --- octave-3.7.5-orig/liboctave/array/fCRowVector.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/array/fCRowVector.cc 2013-07-18 11:27:26 -0400 @@ -234,7 +234,7 @@ FloatComplexRowVector conj (const FloatComplexRowVector& a) { - return do_mx_unary_map<FloatComplex, FloatComplex, std::conj<float> > (a); + return do_mx_unary_map_ref<FloatComplex, FloatComplex, std::conj<float> > (a); } // resize is the destructive equivalent for this one diff -ur octave-3.7.5-orig/liboctave/numeric/dbleQR.cc octave-3.7.5/liboctave/numeric/dbleQR.cc --- octave-3.7.5-orig/liboctave/numeric/dbleQR.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/numeric/dbleQR.cc 2013-07-18 11:27:26 -0400 @@ -95,7 +95,9 @@ #endif } -const QR::type QR::raw, QR::std, QR::economy; +const QR::type QR::raw = qr_type_raw; +const QR::type QR::std = qr_type_std; +const QR::type QR::economy = qr_type_economy; QR::QR (const Matrix& a, qr_type_t qr_type) { diff -ur octave-3.7.5-orig/liboctave/numeric/dbleQR.h octave-3.7.5/liboctave/numeric/dbleQR.h --- octave-3.7.5-orig/liboctave/numeric/dbleQR.h 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/numeric/dbleQR.h 2013-07-18 11:27:26 -0400 @@ -40,9 +40,9 @@ // Import them here to allow the QR:: prefix. typedef qr_type_t type; - static const type std = qr_type_std; - static const type raw = qr_type_raw; - static const type economy = qr_type_economy; + static const type std; + static const type raw; + static const type economy; QR (void) : base_qr<Matrix> () { } diff -ur octave-3.7.5-orig/liboctave/operators/mx-inlines.cc octave-3.7.5/liboctave/operators/mx-inlines.cc --- octave-3.7.5-orig/liboctave/operators/mx-inlines.cc 2013-02-16 18:52:27 -0500 +++ octave-3.7.5/liboctave/operators/mx-inlines.cc 2013-07-18 11:27:27 -0400 @@ -316,7 +316,7 @@ { for (size_t i = 0; i < n; i++) r[i] = fun (x[i]); } template <class R, class X, R fun (const X& x)> -inline void mx_inline_map (size_t n, R *r, const X *x) throw () +inline void mx_inline_map_ref (size_t n, R *r, const X *x) throw () { for (size_t i = 0; i < n; i++) r[i] = fun (x[i]); } // Appliers. Since these call the operation just once, we pass it as @@ -343,9 +343,9 @@ template <class R, class X, R fun (const X&)> inline Array<R> -do_mx_unary_map (const Array<X>& x) +do_mx_unary_map_ref (const Array<X>& x) { - return do_mx_unary_op<R, X> (x, mx_inline_map<R, X, fun>); + return do_mx_unary_op<R, X> (x, mx_inline_map_ref<R, X, fun>); } template <class R> diff -ur octave-3.7.5-orig/src/Makefile.am octave-3.7.5/src/Makefile.am --- octave-3.7.5-orig/src/Makefile.am 2013-04-16 11:26:10 -0400 +++ octave-3.7.5/src/Makefile.am 2013-07-18 11:27:27 -0400 @@ -49,7 +49,8 @@ OCTAVE_CORE_LIBS = \ $(top_builddir)/libinterp/liboctinterp.la \ - $(top_builddir)/liboctave/liboctave.la + $(top_builddir)/liboctave/liboctave.la \ + $(top_builddir)/libgnu/libgnu.la include ../libgui/link-deps.mk