fadein/chicken-core — pull request #1 by fadein (2013-08-12 23:01:24+00:00)
Title: Add support for AIX

I've gotten CHICKEN to build on AIX 6.1. I can run the interpreter, the compiler, and manage eggs with chicken-{install,remove}.

### The toolchain:
#### GCC 4.4.5

````
% gcc -v
Using built-in specs.
Target: powerpc-ibm-aix6.1.0.0
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++,java --prefix=/opt/freeware --infodir=/opt/freeware/info --mandir=/opt/freeware/man --enable-threads --enable-version-specific-runtime-libs --host=powerpc-ibm-aix6.1.0.0 --target=powerpc-ibm-aix6.1.0.0 --build=powerpc-ibm-aix6.1.0.0 --disable-libjava-multilib
Thread model: aix
gcc version 4.4.5 (GCC)
```

#### AIX-provided ar

```
% ar
Usage: ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-h|p|t|x}
[--] Archive [File ...]
ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-m|r[u]}
[{-a|b|i} {PositionName}] [--] Archive File ...
ar [-X{32|64|32_64|d64|any}] [-clsvCT] [-g|o] {-d|q}
[--] Archive File ...
ar [-X{32|64|32_64|d64|any}] [-clvCT] {-g|o|s|w} [--] Archive

```

#### AIX-provided ld

```
% ld
ld: 0706-030 No processing done. Specify at least one
input or import file or use at least one -b ex option.

```

### Eggs
With these tools I've been able to install the following eggs:

```
% chicken-status
advice .......................................................... version: 0.3
base64 ........................................................ version: 3.3.1
blob-hexadecimal .............................................. version: 1.0.3
blob-set-int .................................................. version: 1.0.3
blob-utils .................................................... version: 1.0.3
check-errors ................................................. version: 1.13.0
chicken-doc ................................................... version: 0.4.6
chicken-doc-cmd ............................................... version: 0.4.6
condition-utils ............................................... version: 1.0.2
coops .......................................................... version: 1.92
fmt ........................................................... version: 0.801
fmt-c ......................................................... version: 0.801
fmt-color ..................................................... version: 0.801
fmt-js ........................................................ version: 0.801
fmt-unicode ................................................... version: 0.801
getopt-long .................................................... version: 1.16
iset ............................................................ version: 1.8
locale ....................................................... version: 0.6.13
locale-builtin ............................................... version: 0.6.13
locale-categories ............................................ version: 0.6.13
locale-components ............................................ version: 0.6.13
locale-current ............................................... version: 0.6.13
locale-posix ................................................. version: 0.6.13
locale-timezone .............................................. version: 0.6.13
lookup-table ................................................. version: 1.13.5
lookup-table-synch ........................................... version: 1.13.5
lookup-table-unsafe .......................................... version: 1.13.5
lookup-table-unsafe-synch .................................... version: 1.13.5
make ............................................................ version: 1.7
matchable ....................................................... version: 3.3
md5 ........................................................... version: 3.0.0
memoized-string ............................................... version: 1.2.4
message-digest ................................................ version: 3.0.5
message-digest-basic .......................................... version: 3.0.5
message-digest-bv ............................................. version: 3.0.5
message-digest-int ............................................ version: 3.0.5
message-digest-item ........................................... version: 3.0.5
message-digest-parameters ..................................... version: 3.0.5
message-digest-port ........................................... version: 3.0.5
message-digest-primitive ...................................... version: 3.0.5
message-digest-srfi-4 ......................................... version: 3.0.5
message-digest-support ........................................ version: 3.0.5
message-digest-type ........................................... version: 3.0.5
message-digest-update-item .................................... version: 3.0.5
miscmacros ..................................................... version: 2.95
numbers ....................................................... version: 2.8.2
posix-utils ................................................... version: 1.0.0
record-variants ............................................... version: 0.5.1
regex ........................................................... version: 1.0
setup-helper .................................................. version: 1.5.3
setup-helper-mod .............................................. version: 1.5.3
sha1 .......................................................... version: 3.0.0
shell ........................................................... version: 0.3
srfi-19 ....................................................... version: 3.3.4
srfi-19-core .................................................. version: 3.3.4
srfi-19-date .................................................. version: 3.3.4
srfi-19-io .................................................... version: 3.3.4
srfi-19-period ................................................ version: 3.3.4
srfi-19-support ............................................... version: 3.3.4
srfi-19-time .................................................. version: 3.3.4
srfi-19-timezone .............................................. version: 3.3.4
srfi-29 ....................................................... version: 2.3.1
srfi-4-checks ................................................ version: 1.13.0
srfi-4-errors ................................................ version: 1.13.0
string-hexadecimal ............................................ version: 1.2.4
string-utils .................................................. version: 1.2.4
sxml-transforms ............................................... version: 1.4.1
synch ......................................................... version: 2.1.2
system .......................................................... version: 0.7
to-hex ........................................................ version: 1.2.4
trace ........................................................... version: 0.8
type-checks .................................................. version: 1.13.0
type-errors .................................................. version: 1.13.0
unicode-char-sets ............................................. version: 3.3.7
unicode-utils ................................................. version: 1.2.4
utf8 .......................................................... version: 3.3.7
utf8-case-map ................................................. version: 3.3.7
utf8-lolevel .................................................. version: 3.3.7
utf8-srfi-13 .................................................. version: 3.3.7
utf8-srfi-14 .................................................. version: 3.3.7
variable-item ................................................. version: 1.3.0
```

### Rotten Eggs
Alas, not all of the eggs work out-of-the-box on AIX.
* stty will not compile - AIX has its own curses library which is not equivalent to ncurses
* parley (needs stty)
* linenoise builds and installs, but doesn't play nice in CSI. I suspect that it, again, has to do with IBM's version of the curses library