This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]