HEASARC / cfitsio

C and Fortran library for reading and writing FITS files
19 stars 7 forks source link

Replace handwritten Makefile.in with automake/libtool #18

Closed lpsinger closed 1 week ago

lpsinger commented 4 months ago

cfitsio libraries on Linux, UNIX, and macOS do not correctly report all arguments required to link against cfitsio in their .pc file (see https://github.com/healpy/healpy/pull/917). Ordinarily, in configure-make-make install style projects, one uses libtool and automake in order to automate correctly generating linker arguments whether one is building a shared or static library. I notice that cfitsio has a Makefile that is written by hand. I propose to rewrite it in modern automake + libtool.

If you support this approach, I'll wait until you have reviewed my other PRs (#13, #14, #15) before I get started.

bryanirby commented 4 months ago

Thanks, this has been on our to-do list for a while, but hadn't risen to top priority yet. I've been offline for a move recently and had other pressing issues to handle once I was back online, but hope to get to your other recent PRs today (once some systematic/administrative issues beyond my control have been fixed).

bryanirby commented 4 months ago

An update: Critical HEASoft issues with Apple Xcode 15.3 have taken up our entire week and are our top priority at the moment. We are tracking GitHub PRs but still have not had time to review/accept the latest ones.

lpsinger commented 4 months ago

Any news?

bryanirby commented 4 months ago

Unfortunately all of our resources are still occupied with getting a patch release of HEASoft ready.

bryanirby commented 3 months ago

Hi - I'm trying to wrap up some priority fixes for HEASoft, but hope to start looking at converting CFITSIO to the automake system tomorrow. I'm not currently able to provide an ETA, but will prioritize this as much as possible.

lpsinger commented 3 months ago

Oh, great. I'll leave it to you, but if you could use my help with this any way, please don't hesitate to knock on my door --- the real or the virtual one.

lpsinger commented 2 months ago

@bryanirby, would you please bump this up in priority? We are really having a tough time with cfitsio in healpy; see https://github.com/healpy/healpy/pull/942#issuecomment-2075187980.

bryanirby commented 2 months ago

Hi @lpsinger, sorry about the problems. I'm prioritizing it as much as possible.

bryanirby commented 2 months ago

@lpsinger : I hope to have a libtoolized branch available for testing soon, possibly by tomorrow. It's not quite ready for prime-time though as I'm struggling a bit to maintain backward compatibility in shared library versioning and other aspects.

bryanirby commented 2 months ago

@lpsinger, a new branch cfitsio_libtool is available now as a work in progress. I still haven't sorted out shared library version numbering, as the legacy numbering scheme doesn't mesh with the standard libtool approach.

lpsinger commented 2 months ago

@lpsinger, a new branch cfitsio_libtool is available now as a work in progress. I still haven't sorted out shared library version numbering, as the legacy numbering scheme doesn't mesh with the standard libtool approach.

Would you please make a draft PR from that branch? That way I can make line comments on it.

bryanirby commented 2 months ago

Ok, I've created a draft PR.

bryanirby commented 1 week ago

This is on the 'develop' branch now, to be released later with v4.5.0.