Skip to content

AFNI and NIfTI Server for NIMH/NIH/PHS/DHHS/USA/Earth

Sections
Personal tools
You are here: Home » Misc Items » afni_build » Cygwin Build Instructions » Cygwin Build Instruction Details

Cygwin Build Instruction Details

Document Actions
Details of changes made to get AFNI working on Cygwin:
  • Remove all shared memory stuff from thd_iochan.[ch]
    • This is only used in the realtime plugin and plugout code, so is not a great loss for most users. Sockets should still work. (They did in my one test of the realtime plugin, using program rtfeedme to feed data to localhost.)
  • Compile plugins directly into afni.exe:
    • I was unable to get plugins to compile and load into afni.exe as Microsoft Windows DLLs.
    • Instead, a Makefile/gcc trick is used to to compile them into object modules that can be linked into afni.exe without conflict. This also required modifying afni_plugin.[ch] to deal with the new way of initializing plugins.
      • Several plugins had to have some minor changes to prevent namespace conflicts (by declaring functions to have static scope).
    • The corresponding changes have not been made to NLfit_model.[ch], so 3dNLfim and its associated plugin are not available yet.
  • Some widget geometry management bugs in LessTif are worked around in afni.c. These appear on the "Define Function" and "Define Markers" control panels. The workaround isn't perfect, and some widgets (like "Pos?") may end up obscured.
  • Added a new CYGWIN section in machdep.h to properly configure various options, and created Makefile.cygwin.
    • Disabled frivolities (e.g., the splash screen, sonnets), mmap(), MCW malloc(), and traceback, all in an attempt to produce a faster/smaller afni.exe.
    • Special compilation rules for afni.exe and fixed plugins were added to Makefile.INCLUDE.
Created by Robert Cox
Last modified 2005-08-09 16:11
 

Powered by Plone

This site conforms to the following standards: