Distraction, Inspiration and Aspiration: Autotools and AIX PDF Print E-mail
User Rating: / 1
Written by Michael Felt   
Distraction: how does that become Inspiration?
Inspiration: when does that become Aspiring?.

Aspiration: My vision for GNU Autotools and AIX.


GNU Autotools and AIX - that has been a kind of love-hate relationship dating back to 1999 when I was first started porting opensource software (OSS) to AIX. Generally, they worked very well - the love part; but occasionally, they did not.
I was quick to blame libtool - I think libtool was the first of the tools developed - but the last in the chain of the autotools sequence. Easy to blame, or hate, the last in line. Generally, making a manual modification in the project generated or supplied libtool fixed whatever was holding me back - and I felt justified in my "hate" for libtool and how libtool always seemed to lag behind developments in AIX.
Fifteen+ (15+) years later I know better. Yes, there were bits that libtool did not know about AIX - but these days I also run into barriers. And I have learned it fair to blame a lag in libtool as the root cause. These days I would consider the role of libtool as the most stable and consistent in the autotools suite.  These days the problems seem to come from assumptions taken by "project committers" - especially when they opted to set fixed variables in autoconf (.ac) files rather than use autoconf or automake as intended. These constants may work fine in a GNU environment - but not outside of it. And this was pretty much the motivation for starting development of libtool to begin with.
Makes me kind of miss all the parallel development that was done on SUN Solaris five to ten years ago - as this seem to serve as sufficient reminder that GNU is just one environment and GCC is just one compiler.


Distractions can be frustrating. Getting rid of a frustration is one way to get "motivated". In short, my distrations are a prelude to what I am thinking about TODAY and looking forward - being inspired! I am dreaming of autotools aligned to support the "AIX way" and not just the "GNU way". In particular I would like to see autotools support the way AIX organizes shared libraries for 32-bit and 64-bit support.
Shortly put, the GNU Build System expects separate .so files or archives - one for 32-bit and one for 64-bit. Further, by default - either a 32-bit - or a 64-bit build is done - by modifying environmental variables - not the autotool configuration. At least I have never seen both happen concurrently.  I also see frequent package names with "64" in them to indicate the 64-bit version.
As there are many OSS projects - this is a lot of double work - and error prone when it comes to packaging. I have been trying to simplify that method with my buildaix tool. (Struggle as an inspirator ;:|).
For AIX I envision the solution as having only one .a archive with both 32 and 64 bit "members". And, these members will have the same name. Compare that with the current OSS convention to have either two archives with different names in the same directory, or, two archives with the same name - but in different directories.


I aspire to re-engineer the GNU Autotools (I hope only libtool is needed) so that when shared libraries are being built both 32-bit and 64-bit members are built and stored into a single archive. And for these dual support libraries to be built during a single "make" command. Probably many sleepless nights ;:|

Next >