Installing SDL_ttf on cygwin

(Please cc to @Lourens_van_der_Meij as I got no confirmation of my
subscription to this mailing-list yet)

I have got problems installing SDL and SDL_ttf on cygwin.
I am trying not to have to install mingw separately.

A recent e-mail on the list seemed to imply that SDL should be installable on cygwin.
I did succeed in installing SDL and running the test programs, although it took
some hacking.

I finally gave up on SDL_ttf.

Is it possible to install SDL ttf for cygwin, or do I really have to use mingw?

I will add a (possibly boring) trace of what I seemed to need to do to
make SDL install on cygwin and what I tried for SDL_ttf.

The trace below might provide a solution to the problem Torsten Giebls
described in an entry on this list last month w.r.t. his problem
with compiling the CVS version of SDL on cygwin,

Thank you,

Lourens
@Lourens_van_der_Meij

TRACE:

I looked at various hints on the net, although it is hard to find out
which comments are most relevant. I will try to follow IoDream’s message of
february 2002: “FAQ: SDL under cygwin-1.3.6”.
First I reinstalled cygwin completely today.

  • Downloaded SDL-1.2.3
    $ ./configure
    $ make
    $ make install
    $ cd test
    instruction was make, but no makefile present so tried:
    $ ./configure
    => configure: error: *** SDL version 1.2.3 not found
    config.log contained error messages for the last linker:
    /usr/include/mingw/ctype.h:141: undefined reference to
    `_imp____mb_cur_max_dll
    plus 4 more such errors.
    Searching on the net leads to comments in september 2001 said:“use mingw
    instead of cygwin”.

Is this e-mail “FAQ:SDL under cygwin-1.3.6” not appliccable to more
recent cygwin versions?

Earlier I seem to have read in a changelog that SDL-1.2.4 should work
for cygwin.
So I try to install SDL12 cvs:
libsdl.org/cvs.html says cd SDL12;./autogen.sh:This leads to problems:
required file ./depcomp not found.
So I follow a suggestion somewhere on the net to first call:
$ automake -a -c (without understanding what I am doing)
After that
$ ./autogen.sh
runs without complaint.
$ ./configure
$ make
$ make install
$ cd test
$ ./configure
=> The dynamic link library SDL.dll could not be found (a windows
error message window)
I copied /usr/local/lib/SDL.dll to /usr/local/bin/SDL.dll

$ ./configure (in test dir) => OK
$ make
$ ./testver and other tests went ok. In an earlier attempt I got
worried because no program gave textual output. Then I
found out on the net that output is redirected to std*.txt.
Maybe this should be a FAQ?
HURRAY!
So it seems that with some minor hacking SDL does work on cygwin. But
not SDL-1.2.3.

Next challenge: trying to compile SDL-ttf.
I will immediately try to use the CVS version. In a previous attempt,
SDL_ttf-2.0.4 failed to install.

  • installing freetype => simply decided to download freetype2, most
    recent stable version:freetype-2.0.9.tar.gz
    => no problem there
    $ cd STL_ttf2
    $ automake -a -c
    $ ./autogen.sh
    $ ./configure => worrying text in output:
    "/usr/local/src/SDL_ttf2/missing: Unknown --run option"
    "configure: WARNING: `missing’ script is too old or missing."
    I replaced “missing” by /usr/autotool/devel/share/automake/missing
    which made the warning go away.
    Other “missing” versions still gave the warning. I do not
    know whether this step is needed or not?
    $./configure : no more WARNINGS.
    $ make => OUCH:
    A message comes by ** Warning: This library needs some
    functionality provided by -lmingw32.
    I do not understand the implications of the warning. The
    local libtool(?) seems to look for a library
    mingw32. (There is no mingw32.dll)

          The linker gives errors:
          .../cidload.c:288: undefined reference to `_imp___ctype_'
          etc.
          I do notice that there is a -L/usr/lib/mingw option not
          originating from sdl-config --libs.
    
          There are messages seeming to relate this with libstdc++ or
          with wrong ctype.h or should I copy a "mingw" libstdc++.a
          to /usr/lib/mingw?
          Going on the net, specifically cygwin & mingw => I am
      getting the impression that (at least nov 2001)
          mingw in cygwin needs patching.
          So I use a procedure from http://www.mingw.org/mingwfaq.shtml although
          I decided to put the libraries in mingw-extra*.tgz into
          /usr/lib/mingw instead of /lib/mingw
          => No solution.
    
          Solution from Cygwin & SDL Mark K.Kim? =>
      	$ cd SDL*/test
      =>	programs will not compile because of
      	missing  -lmingw32, probably caused by missing
      	-mno-cygwin option in
          output of sdl-config supplied by crosscompiler solution.
          Lets not give up, but try to hack -mno-cygwin into mingws
          sdl-config
          Still no luck. I could even try to start from the beginning,
          using the crosscompiler solution. No, I give up, I will try
          to install mingw and work with mingws tools.