This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: New package: fltk
<censored> wrote:
Nicholas Wourms wrote:
IIRC, OOTB fltk is heavily dependant on mingw/w32api stuff,
Obviously since it is a cross-platform toolkit. The cygwin version with
a win32 GUI relies on the w32api ,
but not on mingw.
Well since I'm looking at it, I might as well make an official review.
First off, you have /usr/share/doc/fltk & /usr/share/doc/fltk-1.1.4. I
know the latter is created by the build script, so all you need to do is
to move /usr/share/doc/fltk to /usr/share/doc/fltk-1.1.4 after "make
install" but before the build script installs the README.
Second, where are the include files? Building fltk apps will definitely
need those.
Third, you can ditch /etc/postinstall since you aren't using a script.
doesn't target Cygwin/XFree86
This binary package doesnt, though an XFree86 version could be built
without too much difficulty
I think. Not urgent IMO since it comes with a win32 GUI.
I'm not saying that you should, but since it is being built against the
w32-api, I'd advocate the following layout:
/usr/bin/fltk-config-nox
/usr/bin/fluid-nox.exe
/usr/lib/fltk-nox/libfltk*.a
/usr/include/fltk-nox/*.h
/usr/share/doc/fltk-nox-1.1.4/*
/usr/share/man/*/*-nox.*
This really shouldn't be a problem for people since most builds use
fltk-config to get the library path AND since I'm suggesting that the
static/import library names remain as the default (i.e.
/usr/lib/fltk-nox/libfltk.a). This may not seem necessary now, but
thinking ahead is always a good idea. Plus, you'll notice that this is
the method used by the Xpm maintainer so that it won't interfere with
XFree86.
and will build only static archives.
yes. fltk is not libtoolized, so building shared libraries requires some
additional effort.
Not really, you could always cheat by using the --whole-archive method
of converting a static archive into a dll. i.e.:
g++ -shared -o cygfltknox-0.dll -Wl,--out-implib=libfltk.dll.a \
-Wl,--export-all-symbols -Wl,--enable-auto-import \
-Wl,--whole-archive libfltk.a -Wl,--no-whole-archive <<dependency_libs>>
You don't really need to worry about the ABI number, so setting it to 0
for the first release will be ok for now. Of course, you could always
use the number "x" in the unix shared lib "libfltk.so.x.y", since that
changes only when they break ABI compat.
Cheers,
Nicholas