For almost all purposes I use tools from the GNU project provided by the Free Software Foundation. The reason: they are fast, reliant, full of features, cheap and FREE. Linux has the same properties. For formating of printed output we use TeX or postScript.
siliconBrain projects are not portable in a way that they run on every computer. They even are not intended to run on every UN*X machine. I have chosen GNU for almost all tools, not only because it is open software, but also because the quality is much improved compared to many other vendors tools.
So whenever it is of advantage I use GNU extension and facilities, which are not standard. I use gcc non-ANSI C language extension. I use GNUmake with all facilities it has. And I use bash extension, which are not present in Bourne or korn shell.
In the same way I develop the project on GNU/Linux operating system. I will never sacrifice a feature found on a GNU/Linux system, just to be able to run on another OS. Eventually I will try to compile siliconBrain on a GNU/Hurd system.
On the other hand: because the GNU tools are widely portable, it is likely that siliconBrain project are portable to systems, where GNU software is running.
autoconf is designed to be able to develope portable software. It does so by generating the makefiles and by replacing non existing features. In a makefile used in a autoconf driven project, you are not allowed to use all the nice features GNUmake provides to you. But why should I? It is for everyone possible to run a GNU/Linux system and use GNU software. It is cheap to get, if you like, and you have the right to do that.
But autoconf and automake have an interesting feature: they generate a lot before the make process is started. In siliconBrain projects generators are used before the compile. That is to avoid all redundancies.