I was under the impression that if you want a module that is named in 
ext/Setup (from the Ruby source directory tree) to be statically linked 
instead of dynamically linked to the ruby binary that you uncommented the 
corresponding line in the  ext/Setup file.

I uncommented the 'curses' line and did a 'make' and then did an ldd on 
the resulting ruby binary and got:

$ ldd ruby
        libdl.so.2 => /lib/libdl.so.2 (0x4002a000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4002e000)
        libm.so.6 => /lib/libm.so.6 (0x4005c000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x4007f000)
        libc.so.6 => /lib/libc.so.6 (0x400c4000)
        libgpm.so.1 => /usr/lib/libgpm.so.1 (0x40202000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

note the 'libncurses.so.5 => /lib/libncurses.so.5 (0x4007f000)' line 
indicating that the ruby binary depends on libncurses.so

If I comment the 'curses' line in ext/Setup and then run make, ldd ruby 
gives me:

$ ldd ./ruby
        libdl.so.2 => /lib/libdl.so.2 (0x4002a000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4002e000)
        libm.so.6 => /lib/libm.so.6 (0x4005c000)
        libc.so.6 => /lib/libc.so.6 (0x4007f000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

No libncurses.so dependence is listed.  

This seems backwards - I thought that if you uncomment a line in ext/Setup 
that it will statically link that library and if you leave it commented it 
is dynamically linked.

From the README in the Ruby source:
 " 4. Remove comment mark(#) before the module names from ext/Setup (or
     add module names if not present), if you want to link modules
     statically."

I'm so confused....

Phil