Index: configure.in =================================================================== --- configure.in (revision 12773) +++ configure.in (revision 12774) @@ -923,19 +923,20 @@ AC_MSG_CHECKING(for Octave header files) if test -n "$OCTAVE"; then - OCTAVEDIR="/usr/include" + OCTAVECONFIG=[`echo $OCTAVEBIN | sed 's|octave\([^/]*\)$|octave-config\1|'`] + if test -r "$OCTAVECONFIG"; then + OCTAVEDIR=`$OCTAVECONFIG -p OCTINCLUDEDIR | sed 's|/octave$||'` + else + OCTAVEDIR="/usr/include" + fi if test "$OCTAVEDIR" != ""; then - dirs="$OCTAVEDIR" + dirs="$OCTAVEDIR/octave $OCTAVEDIR" OCTAVEEXT="" for i in $dirs; do if test -r $i/octave/oct.h; then OCTAVEEXT="$i" break; fi - if test -r $i/octave/octave/oct.h; then - OCTAVEEXT="$i/octave" - break; - fi done if test "$OCTAVEEXT" = "" ; then AC_MSG_RESULT(not found) Index: Lib/octave/octrun.swg =================================================================== --- Lib/octave/octrun.swg (revision 12773) +++ Lib/octave/octrun.swg (revision 12774) @@ -399,6 +399,10 @@ Swig::erase_rtdir(types[j].second.ptr); } + dim_vector dims(void) const { + return dim_vector(1,1); + } + octave_value as_value() { ++count; return Swig::swig_value_ref(this); @@ -928,6 +932,9 @@ octave_base_value *empty_clone() const { return new octave_swig_ref(0); } + dim_vector dims(void) const + { return ptr->dims(); } + bool is_defined() const { return ptr->is_defined(); } Index: Examples/octave/functor/Makefile =================================================================== --- Examples/octave/functor/Makefile (revision 12773) +++ Examples/octave/functor/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/pointer/Makefile =================================================================== --- Examples/octave/pointer/Makefile (revision 12773) +++ Examples/octave/pointer/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/funcptr/Makefile =================================================================== --- Examples/octave/funcptr/Makefile (revision 12773) +++ Examples/octave/funcptr/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/extend/Makefile =================================================================== --- Examples/octave/extend/Makefile (revision 12773) +++ Examples/octave/extend/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/simple/Makefile =================================================================== --- Examples/octave/simple/Makefile (revision 12773) +++ Examples/octave/simple/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/operator/runme.m =================================================================== --- Examples/octave/operator/runme.m (revision 12773) +++ Examples/octave/operator/runme.m (revision 12774) @@ -4,21 +4,21 @@ a = example.ComplexVal(2,3); b = example.ComplexVal(-5,10); -printf("a = %s\n",a); -printf("b = %s\n",b); +printf("a = %s\n",disp(a)); +printf("b = %s\n",disp(b)); c = a + b; -printf("c = %s\n",c); -printf("a*b = %s\n",a*b); -printf("a-c = %s\n",a-c); +printf("c = %s\n",disp(c)); +printf("a*b = %s\n",disp(a*b)); +printf("a-c = %s\n",disp(a-c)); e = example.ComplexVal(a-c); -printf("e = %s\n",e); +printf("e = %s\n",disp(e)); # Big expression f = ((a+b)*(c+b*e)) + (-a); -printf("f = %s\n",f); +printf("f = %s\n",disp(f)); # paren overloading -printf("a(3)= %s\n",a(3)); +printf("a(3)= %s\n",disp(a(3))); Index: Examples/octave/operator/example.i =================================================================== --- Examples/octave/operator/example.i (revision 12773) +++ Examples/octave/operator/example.i (revision 12774) @@ -10,13 +10,13 @@ /* An output method that turns a complex into a short string */ %extend ComplexVal { - char *__str() { + char *__str__() { static char temp[512]; sprintf(temp,"(%g,%g)", $self->re(), $self->im()); return temp; } - ComplexVal __paren(int j) { + ComplexVal __paren__(int j) { return ComplexVal($self->re()*j,$self->im()*j); } }; Index: Examples/octave/operator/Makefile =================================================================== --- Examples/octave/operator/Makefile (revision 12773) +++ Examples/octave/operator/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).m check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/callback/Makefile =================================================================== --- Examples/octave/callback/Makefile (revision 12773) +++ Examples/octave/callback/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/reference/Makefile =================================================================== --- Examples/octave/reference/Makefile (revision 12773) +++ Examples/octave/reference/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/funcptr2/Makefile =================================================================== --- Examples/octave/funcptr2/Makefile (revision 12773) +++ Examples/octave/funcptr2/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/enum/Makefile =================================================================== --- Examples/octave/enum/Makefile (revision 12773) +++ Examples/octave/enum/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/class/Makefile =================================================================== --- Examples/octave/class/Makefile (revision 12773) +++ Examples/octave/class/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/variables/Makefile =================================================================== --- Examples/octave/variables/Makefile (revision 12773) +++ Examples/octave/variables/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/template/Makefile =================================================================== --- Examples/octave/template/Makefile (revision 12773) +++ Examples/octave/template/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/constants/Makefile =================================================================== --- Examples/octave/constants/Makefile (revision 12773) +++ Examples/octave/constants/Makefile (revision 12774) @@ -19,3 +19,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/octave/contract/Makefile =================================================================== --- Examples/octave/contract/Makefile (revision 12773) +++ Examples/octave/contract/Makefile (revision 12774) @@ -17,3 +17,4 @@ rm -f $(TARGET).py check: all + $(MAKE) -f $(TOP)/Makefile octave_run Index: Examples/Makefile.in =================================================================== --- Examples/Makefile.in (revision 12773) +++ Examples/Makefile.in (revision 12774) @@ -333,6 +333,7 @@ # Make sure these locate your Octave installation OCTAVE_INCLUDE= $(DEFS) @OCTAVEEXT@ OCTAVE_LIB = +OCTAVE = @OCTAVE@ # Extra Octave specific dynamic linking options OCTAVE_DLNK = @OCTAVEDYNAMICLINKING@ @@ -359,6 +360,15 @@ $(CXXSHARED) -g $(CFLAGS) $(OBJS) $(IOBJS) $(OCTAVE_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(OCTAVE_SO) # ----------------------------------------------------------------- +# Running an Octave example +# ----------------------------------------------------------------- + +OCTSCRIPT = runme.m + +octave_run: $(OCTSCRIPT) + env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH OCTAVEPATH=$(srcdir):$$OCTAVEPATH $(OCTAVE) $(OCTSCRIPT) >/dev/null + +# ----------------------------------------------------------------- # Cleaning the octave examples # -----------------------------------------------------------------