aboutsummaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)AuthorLines
2018-02-20Necessary programs checked at configure timeMohammad Akhlaghi-26/+137
The mandatory and optional (for example downloader) dependencies are now checked at configure time so users can know what they may be missing before the processing starts. Since its recommended to be run in parallel, it can be hard to find what you are missing after running the pipeline. As part of these checks, the program to use for downloading is now also set at configure time, it is only used as a pre-defined (in `LOCAL.mk') variable during Make's processing. A small title was also added to discus the pipeline architecture that will be filled in the next commit.
2018-02-15Backup file ending with ~ is also deleted in configureMohammad Akhlaghi-2/+3
Some editors put a copy of their input file into another file ending with `~' (for backup). So now, the `./configure' script also cleans this file along with the temporary file.
2018-02-15Configure script starts with bin/bash shebangMohammad Akhlaghi-1/+1
While trying the pipeline on a remote server (which runs on Debian), the configure script had an `Syntax error: "(" unexpected' error. This is caused by the fact that in the Debian world (and its derivate OSs), the default shell is not Bash but Dash which has much fewer features for fast loading. It was thus necessary to start the configure script explicity with the `/bin/bash' shebang.
2018-02-15Gnuastro's memory mapping is now a local variableMohammad Akhlaghi-54/+130
As described in the commens above `MINMAPSIZE' of `LOCAL.mk.in', the amount of memory to map to HDD/SSD or keep in RAM is a local issue and not relevant to the pipeline's results. So it is now defined in a `gnuastro-local.conf' file. To keep the Makefiles clean, this file is created by the `./configure' script. To do this cleanly, the `./configure' script was also almost fully re-written with better functionality now.
2018-02-15Choice to build final PDF removed from LOCAL settingsMohammad Akhlaghi-2/+2
The previous change where we had set the building of the PDF as a local (and thus not version controlled) setting was not good, because different commits might be made without the high-level preparations for the final PDF (especially during the initial/testing phases of a research). Therefore, if the runner of the pipeline is ignorant to this, they may hit some errors in LaTeX which can be frustrating. To have a clean reproduction, it is thus necessary to have the choice of pdf-building under version control along with the rest of the pipeline.
2018-02-14Sanity checks added, local settings now in LOCAL.mk.inMohammad Akhlaghi-26/+31
The choice of whether or not to make a PDF is now also a local system issue, not a general pipeline issue. So it has been put in the new `LOCAL.mk.in' file which replaces the old `DIRECTORIES.mk.in'. All local settings (things that when changed should not be version-controlled) should be defined in this file. A sanity check was added to find if `./configure' has been run before `make' or not (using the `LOCAL.mk' file which is an output of the configuration step). If `LOCAL.mk' doesn't exist, an error will be printed informing the user that `./configure' needs to be run first. The configure script also provides more clear and hopefully better information on its purpose and what must be done. Since `make clean', it is executed even when `./configure' hasn't been run, it will only delete the build directory and its contents when local configuration has been done. A `distclean' target was also added which will first "clean" the pipeline, then delete the `LOCAL.mk.in' file. To allow rules like `make' to be run even if `BDIR' isn't defined (`./configure' hasn't been run yet), a fake `BDIR' is defined in such cases.
2018-02-07First commit to the reproduction pipeline templateMohammad Akhlaghi-0/+88
Let's start working on this pipeline independently with this first commit. It is based on my previous experiences, but I had never made a skeleton of a pipeline before, it was always within a working analysis. But now that the pipeline has a separate repository for its self, we will be able to work on it and use it as a base for future work and modify it to make it even better. Hopefully in time (and with the help of others), it will grow and become much more robust and useful.