      SUBROUTINE CXFFTW(CX,MX,MY,MZ,ISIGN)
      IMPLICIT NONE
C
C Arguments:
C
      INTEGER ISIGN,MX,MY,MZ
      COMPLEX CX(MX,MY,MZ)

c Local variables:

      CHARACTER CMSGNM*70

C***********************************************************************
C
C Purpose: This is a dummy routine to substitute for CXFFTW to allow
C          DDSCAT to be used on systems where the FFTW package has not
C          been installed.  If called, it will generate a fatal error
C          with an error message reporting DDSCAT has been compiled
C          with this dummy routine and option FFTW is unavailable.
C          
C History:
C 00.07.05 (BTD): created
C 03.07.13 (BTD): changed option FFTWFJ to option FFTW21
C 04.03.31 (BTD): replaced WRITE(0,  with CALL WRIMSG(...
C end history
C Copyright (C) 2000, 2003
C               B.T. Draine and P.J. Flatau
C This code is covered by the GNU General Public License.
C
C***********************************************************************
C
      WRITE(CMSGNM,FMT='(A,A)')
     &   'FATAL ERROR: DDSCAT has been compiled with dummy version of',
     &   ' CXFFTW'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A)')
     &   ' *** option FFTW21 cannot be used with dummy routine'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A)')
     &   ' *** to enable option FFTW21 it is necessary to:'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A)')
     &   ' --- have fftw 2.1.x library installed on system'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A,A)')
     &   ' --- in Makefile, variable LIBFFTW should include ',
     &   'correct path to libsfftw.a'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A,A)')
     &   ' --- in Makefile, define cxfftw = cxfftw',
     &   ' (rather than dummycxfftw.f)'
      CALL WRIMSG('CXFFTW',CMSGNM)
      WRITE(CMSGNM,FMT='(A)')' --- then make ddscat'
      CALL WRIMSG('CXFFTW',CMSGNM)
      STOP
      END


















