diff -Naur pfstools-1.6.4.orig/configure.ac pfstools-1.6.4/configure.ac --- pfstools-1.6.4.orig/configure.ac 2008-01-01 06:26:57.000000000 -0800 +++ pfstools-1.6.4/configure.ac 2008-04-07 04:18:30.000000000 -0700 @@ -362,6 +362,7 @@ dnl Check for MATLAB MEX=mex +MEX_EXT="" AC_ARG_WITH(mex, [ --with-mex MATLAB compiler command], @@ -383,6 +384,12 @@ AC_PATH_PROG(MEX, $MEX) if test -n "$MEX" && $MEX -v 2>/dev/null | grep MATLAB >/dev/null; then + MATLAB_ROOT=`matlab -e 2>/dev/null | grep '^MATLAB=' | sed -e 's/MATLAB=//'`; + MEX_EXT=`"$MATLAB_ROOT/bin/mexext" 2>/dev/null`; + if test -z "$MEX_EXT"; then + AC_MSG_WARN([unable to determine mex extension, defaulting to mexglx]) + MEX_EXT="mexglx"; + fi matlab_support="yes"; else if test -n "$MEX"; then @@ -443,6 +450,7 @@ AC_SUBST(PACKAGE_VERSION) AC_SUBST(MEX) AC_SUBST(MEX_DIR) +AC_SUBST(MEX_EXT) AC_SUBST(BASH_PATH) #QT_PATH=$qtpath #AC_SUBST(QT_PATH) diff -Naur pfstools-1.6.4.orig/src/matlab/Makefile.am pfstools-1.6.4/src/matlab/Makefile.am --- pfstools-1.6.4.orig/src/matlab/Makefile.am 2007-11-30 01:18:00.000000000 -0800 +++ pfstools-1.6.4/src/matlab/Makefile.am 2008-04-07 03:12:30.000000000 -0700 @@ -1,8 +1,8 @@ -mexglxdir = $(MEX_DIR) +mexdir = $(MEX_DIR) mdir = $(MEX_DIR) -mexglx_SCRIPTS = pfsclose.mexglx pfsopen.mexglx pfspopen.mexglx pfsput.mexglx pfsget.mexglx pfs_transform_colorspace.mexglx pfspclose.mexglx +mex_SCRIPTS = pfsclose.$(MEX_EXT) pfsopen.$(MEX_EXT) pfspopen.$(MEX_EXT) pfsput.$(MEX_EXT) pfsget.$(MEX_EXT) pfs_transform_colorspace.$(MEX_EXT) pfspclose.$(MEX_EXT) -mex_ccfiles = $(mexglx_SCRIPTS:.mexglx=.cpp) mex_utils.cpp mex_utils.h \ +mex_ccfiles = $(mex_SCRIPTS:.$(MEX_EXT)=.cpp) mex_utils.cpp mex_utils.h \ compatibility.h m_SCRIPTS = pfsclose.m pfsopen.m pfspopen.m pfsput.m pfsget.m pfs_transform_colorspace.m pfspclose.m pfs_shell.m pfs_read_luminance.m pfs_read_rgb.m pfs_read_xyz.m pfs_write_rgb.m pfsview.m pfsview_rgb.m pfs_write_luminance.m @@ -12,25 +12,25 @@ EXTRA_DIST = Makefile.win32 $(mex_ccfiles) $(m_SCRIPTS) CCFILES = \ - $(mexglx_SCRIPTS:.mexglx=.cpp) + $(mex_SCRIPTS:.$(MEX_EXT)=.cpp) -%.mexglx: %.cpp +%.$(MEX_EXT): %.cpp $(MEX) -I${srcdir}/../pfs -D_MATLAB_VER $^ -pfsfclose.mexglx: pfsfclose.cpp mex_utils.cpp -pfsfgets.mexglx: pfsfgets.cpp mex_utils.cpp -pfsfputs.mexglx: pfsfputs.cpp mex_utils.cpp -pfspopen2.mexglx: pfspopen2.cpp mex_utils.cpp -pfsclose.mexglx: pfsclose.cpp mex_utils.cpp -pfsopen.mexglx: pfsopen.cpp mex_utils.cpp -pfspclose.mexglx: pfspclose.cpp mex_utils.cpp -pfspopen.mexglx: pfspopen.cpp mex_utils.cpp -pfsread.mexglx: pfsread.cpp mex_utils.cpp -pfsput.mexglx: pfsput.cpp mex_utils.cpp ${srcdir}/../pfs/pfs.cpp -pfsget.mexglx: pfsget.cpp mex_utils.cpp ${srcdir}/../pfs/pfs.cpp -pfs_transform_colorspace.mexglx: pfs_transform_colorspace.cpp mex_utils.cpp ${srcdir}/../pfs/colorspace.cpp +pfsfclose.$(MEX_EXT): pfsfclose.cpp mex_utils.cpp +pfsfgets.$(MEX_EXT): pfsfgets.cpp mex_utils.cpp +pfsfputs.$(MEX_EXT): pfsfputs.cpp mex_utils.cpp +pfspopen2.$(MEX_EXT): pfspopen2.cpp mex_utils.cpp +pfsclose.$(MEX_EXT): pfsclose.cpp mex_utils.cpp +pfsopen.$(MEX_EXT): pfsopen.cpp mex_utils.cpp +pfspclose.$(MEX_EXT): pfspclose.cpp mex_utils.cpp +pfspopen.$(MEX_EXT): pfspopen.cpp mex_utils.cpp +pfsread.$(MEX_EXT): pfsread.cpp mex_utils.cpp +pfsput.$(MEX_EXT): pfsput.cpp mex_utils.cpp ${srcdir}/../pfs/pfs.cpp +pfsget.$(MEX_EXT): pfsget.cpp mex_utils.cpp ${srcdir}/../pfs/pfs.cpp +pfs_transform_colorspace.$(MEX_EXT): pfs_transform_colorspace.cpp mex_utils.cpp ${srcdir}/../pfs/colorspace.cpp clean: - rm -f *.mexglx + rm -f *.$(MEX_EXT) .PHONY: clean