Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change MARX to automake #16

Open
wants to merge 111 commits into
base: alan
Choose a base branch
from
Open

Change MARX to automake #16

wants to merge 111 commits into from

Conversation

hamogu
Copy link
Member

@hamogu hamogu commented Dec 19, 2015

MARX has used autoconf for a long time. This PR changes the system from partially hand-written makefiles and custom m4 macros to automake and standard m4 macros.

The .gitignores contain the autotools files at the location wehre I finally want
them when I'm doen with the autmomake conversion.
Move test for enidanness into autoconf.
Previously, a Makefile would compile and run a special program that
tested system characteristics nad wrote an output file, which in
turn would be inlcuded as a header file.
This task is better left to autoconf.
This proved more difficult than expected; in particular to pick
the right inputs for libmarx.a (which is far more than the *lis file states).
Because everything depends on everything (the directory structure on configure.ac,
the configure.ac on automake, automake on my ability ot formulate the right rules, ...)
this is not a small atomic commit but rather a "dumb everything in one buckt".

At this point automake + autoconf + autoheader work and compile
(I did not test if marx runs, yet!).
There is no use of libtool yet.
Also, change their installation location from /lib/marx to /bin.
This puts all binary executables in one place.
This file has not changed for 10 years and it's not big. It is much
simpler to include the binary in the distribution tarball.
(It's been in the repro for a long time anyway).
This proved more difficult than expected; in particular to pick
the right inputs for libmarx.a (which is far more than the *lis file states).
Because everything depends on everything (the directory structure on configure.ac,
the configure.ac on automake, automake on my ability ot formulate the right rules, ...)
this is not a small atomic commit but rather a "dumb everything in one buckt".

At this point automake + autoconf + autoheader work and compile
(I did not test if marx runs, yet!).
There is no use of libtool yet.
Also, change their installation location from /lib/marx to /bin.
This puts all binary executables in one place.
This file has not changed for 10 years and it's not big. It is much
simpler to include the binary in the distribution tarball.
(It's been in the repro for a long time anyway).
pfiles, jdfits, and jdmath all have their own configure and makefiles.
This commit introduces the same for rsp. In particular since rsp
needs cfitsio, while the main program does not, it seems reasonble to
build it separately.
At this stage, all automake and autoconf files do work and compile
all tools sucessfully.
The conversion to automake is not complete (e.g. rsp should only be compiled if cfitsio
is available and the autput of running marx should print useful messages where data and
par files can be found).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants