Transcript of GD Installation. Notice that I provide two non-default answers to query by the Perl program, because I don't think cygwin's GD library supports FreeType or XPM. (At least not by default.)
$ perl Makefile.PL

NOTICE: This module requires libgd 2.0.12 or higher.
        it will NOT work with earlier versions.
        See www.cpan.org for versions of GD that are compatible
        with earlier versions of libgd.

        If you are using Math::Trig 1.01 or lower, it has a bug that
        causes a "prerequisite not found" warning to be issued.  You may
        safely ignore this warning.

Type perl Makefile.PL -h for command-line option summary

Where is libgd installed? [/usr/lib]

Please choose the features that match how libgd was built:
Build JPEG support? [y]
Build FreeType support? [y] n
Build XPM support? [y] n

If you experience compile problems, please check the @INC, @LIBPATH and @LIBS
arrays defined in Makefile.PL and manually adjust, if necessary.

Note (probably harmless): No library found for -lpng
Writing Makefile for GD

$ make 
gcc -c  -I/usr/local/include -I/usr/local/include/gd -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -DUSEIMPORTLIB -O2   -DVERSION=\"2.12\" -DXS_VERSION=\"2.12\"  "-I/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE"  -DHAVE_JPEG GD.c
GD.xs: In function `XS_GD__Image_stringFT':
GD.xs:1868: warning: cast to pointer from integer of different size
Running Mkbootstrap for GD ()
chmod 644 GD.bs
rm -f blib/arch/auto/GD/GD.dll
LD_RUN_PATH="" ld2  -s -L/usr/local/lib GD.o  -o blib/arch/auto/GD/GD.dll  /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/libperl.dll.a -L/usr/X11R6/lib -L/usr/local/lib -lgd -lz -ljpeg -lm   
gcc -shared -o  GD.dll -Wl,--out-implib=libGD.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
-s -L/usr/local/lib GD.o  /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/libperl.dll.a -L/usr/X11R6/lib -L/usr/local/lib -lgd -lz -ljpeg -lm
Creating library file: libGD.dll.a
mv GD.dll libGD.dll.a blib/arch/auto/GD/
chmod 755 blib/arch/auto/GD/GD.dll
cp GD.bs blib/arch/auto/GD/GD.bs
chmod 644 blib/arch/auto/GD/GD.bs

$ make test
/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/GD..........ok
        2/10 skipped: various reasons
t/Polyline....ok
All tests successful, 2 subtests skipped.
Files=2, Tests=11,  3 wallclock secs ( 0.69 cusr +  0.32 csys =  1.01 CPU)

$ make html
pod2html --outfile=GD.html GD.pm
/usr/bin/pod2html: GD.pm: unterminated list at =head in paragraph 146.  ignoring.
/usr/bin/pod2html: GD.pm: unexpected =item directive in paragraph 150.  ignoring.

$ make install
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/auto/GD/GD.bs
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/auto/GD/GD.dll
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/auto/GD/libGD.dll.a
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/GD.pm
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/qd.pl
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/auto/GD/autosplit.ix
Installing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/GD/Polyline.pm
Writing /usr/lib/perl5/site_perl/5.8.2/cygwin-thread-multi-64int/auto/GD/.packlist
Appending installation info to /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/perllocal.pod??