Dear Alan,

(1)I am sending a few tests across and this is the first one.
    The rest contain attepts to build shared libs.
   It appears that the Cygwin ash may be alright.
   Does the file reconfig play a role? If the reconfig file from
   the first aborted configure is allowed to stay, repetition of
   the same command goes through.

(2) Shared libs under Cygwin. The Cygwin distribution itself is
    supplied with shared libs including Cygwin1.dll. It is possible
    to build shared libs using dlltool and gcc in tandem if one
    knows how to do it. This process is supposed to be automated by
    dllwrap. The only writeup I found on shared libs is one by
    Mumit Khan. I was frustrated as this writeup is somewhat
    ambiguous. The Cygwin compiler cannot build shared libs
    automatically with a switch --shared.

(3) Some packages like PNG supply a custom Makefile for Cygwin.
     It is possible to build shared libs for PNG. The default name of
     a DLL built by Cygwin will have the signature prefix "cyg".

(4) I have come across a utility called a2dll ( under altbinutils). It is a shell script
    which can convert a MinGW libx.a to a pair of x.DLL and libimp.a
    ( implied library ) files. You put the DLL in the bin directory and the
     implib in the lib directory. Any program is linked as usual against the
     implib which tells the executable to pick up luggage at run time from
     the DLL file. This may work for Cygwin too, but I have not tried it
     so far. The conversion may not be a one step process if there are
     undefined symbols in the static lib. One can try building a DLL out
     of the static plplot library.

Please let me know if any other matters need clarifications.

Best Regards,

U.D.Kini


Test to see whether there is trouble with Cygwin Ash
--------------------------------------------------------------------------
Platform i686-pc-cygwin:
Cygwin ( 1.3.22 )
XFree86 ( 4.2.0 )
gcc ( 3.2-3 )
Windows 98 2nd Edition
Pentium 3 Processor.

Cygwin root is at e:\Cygwin
Decompress plplot-5.2.1.cvs.20030921.tar.gz under /usr/src to get
/usr/src/plplot-5.2.1.cvs.20030921 as the Top Source Directory.

   cd /usr/src/plplot-5.2.1.cvs.20030921

(1) Using installed tools; ie. sh.exe is ash ( not bash )
      The configure script is in conf.sh and is run as ./conf.sh
       (A number of other drivers can also be built. When a program is run,
       the device list zips up and the top enrties disappear beyond the
screen.
       So, I try to build just a few drivers that I  need.)

   ./configure --prefix=/usr/local/plplot1 --x-includes=/usr/X11R6/include \
   --x-libraries=/usr/X11R6/lib --disable-dyndrivers --enable-cxx \
   --enable-f77 --disable-python --enable-static=yes --enable-shared=no \
   --disable-tcl --disable-itcl --disable-java --disable-octave --enable-cgm
\
   --disable-dg300 --enable-png --enable-jpeg --disable-gnome --disable-hp74
70 \
   --disable-hp7580 --disable-lj_hpgl --disable-imp --disable-linuxvga \
   --disable-ljii --disable-ljiip --disable-mem --disable-ntk --enable-null
\
   --enable-pbm --enable-plmeta --enable-ps --enable-psc --enable-pstex \
   --enable-xterm --disable-tek4010 --disable-tek4107 --disable-mskermit \
   --disable-versaterm --disable-vlt --disable-conex --disable-tek4010f \
   --disable-tek4107f --disable-tk --disable-tkwin --enable-xfig --enable-xw
in \
   --with-double --without-qhull --without-csa --with-x

Error.( Copied from Cygwin window )

$ ./conf.sh
No defaults file found, performing full configure.
No defaults file found, performing full configure.
configure: error: invalid feature name: dyndrivers

Suppose we shift --disable-dyndrivers to the end? The configure creates a
file called
reconfig. Delete this file and run

./configure --prefix=/usr/local/plplot1 --x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib --enable-cxx \
--enable-f77 --disable-python --enable-static=yes --enable-shared=no \
--disable-tcl --disable-itcl --disable-java --disable-octave --enable-cgm \
--disable-dg300 --enable-png --enable-jpeg --disable-gnome --disable-hp7470
\
--disable-hp7580 --disable-lj_hpgl --disable-imp --disable-linuxvga \
--disable-ljii --disable-ljiip --disable-mem --disable-ntk --enable-null \
--enable-pbm --enable-plmeta --enable-ps --enable-psc --enable-pstex \
--enable-xterm --disable-tek4010 --disable-tek4107 --disable-mskermit \
--disable-versaterm --disable-vlt --disable-conex --disable-tek4010f \
--disable-tek4107f --disable-tk --disable-tkwin --enable-xfig --enable-xwin
\
--with-double --without-qhull --without-csa --with-x --disable-dyndrivers

Error.( Copied from Cygwin window )

$ ./conf.sh
No defaults file found, performing full configure.
No defaults file found, performing full configure.
configure: error: invalid feature name: cxx

I have to stop.

(2) Start with a fresh source tree.
      Move sh.exe from /usr/bin to /usr/bin/old

      cp bash.exe sh.exe

   ./configure --prefix=/usr/local/plplot1 --x-includes=/usr/X11R6/include \
   --x-libraries=/usr/X11R6/lib --disable-dyndrivers --enable-cxx \
   --enable-f77 --disable-python --enable-static=yes --enable-shared=no \
   --disable-tcl --disable-itcl --disable-java --disable-octave --enable-cgm
\
   --disable-dg300 --enable-png --enable-jpeg --disable-gnome --disable-hp74
70 \
   --disable-hp7580 --disable-lj_hpgl --disable-imp --disable-linuxvga \
   --disable-ljii --disable-ljiip --disable-mem --disable-ntk --enable-null
\
   --enable-pbm --enable-plmeta --enable-ps --enable-psc --enable-pstex \
   --enable-xterm --disable-tek4010 --disable-tek4107 --disable-mskermit \
   --disable-versaterm --disable-vlt --disable-conex --disable-tek4010f \
   --disable-tek4107f --disable-tk --disable-tkwin --enable-xfig --enable-xw
in \
   --with-double --without-qhull --without-csa --with-x

Error.( Copied from Cygwin window )

$ ./conf.sh
No defaults file found, performing full configure.
configure: error: invalid feature name: dyndrivers

From past experience, just give the command once more?
Do not delete reconfig file.

$ ./conf.sh >& configure.output

Configure proceeds and completes. Does the presence of reconfig have
anything
to do with this?

(3) Start with a fresh source tree.
      Reinstate sh.exe; hence, using ash now, not bash

   ./configure --prefix=/usr/local/plplot1 --x-includes=/usr/X11R6/include \
   --x-libraries=/usr/X11R6/lib --disable-dyndrivers --enable-cxx \
   --enable-f77 --disable-python --enable-static=yes --enable-shared=no \
   --disable-tcl --disable-itcl --disable-java --disable-octave --enable-cgm
\
   --disable-dg300 --enable-png --enable-jpeg --disable-gnome --disable-hp74
70 \
   --disable-hp7580 --disable-lj_hpgl --disable-imp --disable-linuxvga \
   --disable-ljii --disable-ljiip --disable-mem --disable-ntk --enable-null
\
   --enable-pbm --enable-plmeta --enable-ps --enable-psc --enable-pstex \
   --enable-xterm --disable-tek4010 --disable-tek4107 --disable-mskermit \
   --disable-versaterm --disable-vlt --disable-conex --disable-tek4010f \
   --disable-tek4107f --disable-tk --disable-tkwin --enable-xfig --enable-xw
in \
   --with-double --without-qhull --without-csa --with-x

Error.( Copied from Cygwin window )

$ ./conf.sh
No defaults file found, performing full configure.
No defaults file found, performing full configure.
configure: error: invalid feature name: dyndrivers

Delete reconfig and try again.

Error.( Copied from Cygwin window )

$ ./conf.sh
No defaults file found, performing full configure.
No defaults file found, performing full configure.
configure: error: invalid feature name: dyndrivers

Donot remove reconfig but try once more.

$ ./conf.sh >& configure.output

Looks like configure proceeds and completes as it did earlier.

I am lost.