Having fun with libtool and PDCurses

2011-07-12
2013-04-25
  • As previously commented somewhere else, I have recently started playing with libtool (just for fun) and used PDcurses as my testing target. I never played before with libtool or automake and only a little with autoconf, but after some time, seems I have something that may work, creating static and shared libraries for both the X11 and the SDL port.

    All the build process is currently done without touching upstream files, so I can safely test things under Debian without putting much noise in diffs. I tested the resulting XCurses stuff and seems to work similarly to my old unofficial PDCurses Debian package (THE works, demos work). I also did a minimal SDL test (just sdltest) which seemed  successful.

    I have removed some of the original AC-like macros where I hope libtool will do a better job, but as said before, I am not an expert about this. Apart from that, I disabled MH_CHECK_LIB, which will not find some libs in new Debian multiarch lib structure breaking build in current Debian sid. It also included linking to some extra libs that seem not needed for xorg (they are indirectly linked, but this may fail for other linkers, so is something to look better). This will not currently check for old XFree86, so is not very portable, but is a first step. I am using plain AC_CHECK_LIB to check for library availability.

    Currently most things are intended to be started from top dir through debian/rules, until proper Makefile is created. However, although things are done outside the upstream tree, I think that if things finally work properly the system may also be useful upstream (he was previously mailed, making this more public now) and easily put there.

    I have been pushing my changes to my personal Debian git area,

    git://anonscm.debian.org/users/agmartin/pdcurses.git

    in tmp/libtool branch. master branch contains my previous stuff for an unofficial pdcurses Debian package. Some things still need care, I remember

    • X11R6 extra libs (SM and ICE) are not added to explicitly linked libs. Seems not a problem for Debian, using xorg, with the usual linker, but this needs some work for improved portability.

    • Purify currently does nothing when selected. There must be an easy way to tell libtool to use purify or valgrind if desired.

    • I mixed original checks with those proposed by autoscan, so a number of them are probably not needed.

    There are surely much more hidden problems.

    Besides the git repo above, there is some info in

    http://bugs.debian.org/548070