hercules-390 / hyperion

Hercules 390
Other
246 stars 69 forks source link

Deprecate SYNCIO Option #219

Open dasdman opened 7 years ago

dasdman commented 7 years ago

Change SYNCIO compilation option to disabled, leaving it optionally includable via the build process. Update notes and READMEs to indicate option drop at a later time.

srorso commented 7 years ago

It would appear that syncio was added in 2001. Preprocessor code to enable exclusion of syncio support was removed in 2003 and restored in 2013. There does not appear to have been any code in configure.ac at any point that would allow for builder control of whether the feature is included.

File featall.h does some conflict checking but defaults to including syncio support if no build specification was made...and given the absence of support in configure.ac, such a specification would be made.

So it appears that syncio has been a part of Hercules since 2001. Of course, it would be possible to disable syncio by hacking featall.h.

The first step will be to add code in configure.ac to allow --enable-syncio/--disable-syncio, with a default of enable. That will preserve current functionality for people who just wish to use Hercules, while allowing developers to build without the support. This is relatively easy...at least as easy as anything involving configure.ac.

There does not appear to be any references to syncio in the readme files, although the html repo does document it in a couple of places (device configuration, syncio command).

srorso commented 7 years ago

Commit c7b4acc adds --enable-syncio as a default configure.ac option. Running configure with --disable-syncio builds Hercules without syncio support on open source. I have not changed the Windows build because its mechanisms for adding build options is not as straightforward as configure. Windows builds for the moment always include syncio support.