Commit fb1a0772 authored by Emmanuel Bertin's avatar Emmanuel Bertin
Browse files

Moved codebase to new autogen.sh pre-configure stage.

Replaced doc PDF with (very preliminary) Sphinx source.
Pushed version number to 2.24.
parent 779e15bc
ASSOC options do not work properly with MEF images (this is not really a bug).
Emmanuel Bertin <bertin@iap.fr>
Copyright 2010 IAP - CNRS / Universite P.&M.Curie
Copyright 2010 - 2017 IAP / CNRS / Universite P.&M.Curie
Author: Emmanuel Bertin <bertin@iap.fr>
Main author: Emmanuel Bertin <bertin@iap.fr>
SExtractor is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
......
......@@ -5,7 +5,7 @@
#
# This file part of: SExtractor
#
# Copyright: (C) 1997-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
# Copyright: (C) 1997-2017 IAP/CNRS/UPMC
#
# License: GNU General Public License
#
......@@ -20,10 +20,360 @@
# You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
#
# Last modified: 11/10/2010
# Last modified: 19/06/2017
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
------------------------------------------------------------------------
r381 | bertin | 2016-03-08 22:35:51 +0100 (Tue, 08 Mar 2016) | 2 lines
Added missing dgeo.c and dgeo.h files.
------------------------------------------------------------------------
r380 | bertin | 2016-03-08 18:02:20 +0100 (Tue, 08 Mar 2016) | 13 lines
Fixed PCi_j WCS keyword parsing issue (thanks to O.Fors for reporting this issue).
Fixed issue with magnitudes when used as PSF model parameters (thanks to A.Donnarumma for reporting this issue).
Added ID_PARENT catalog parameter to identify the common parent of deblended sources (thanks to R.McMahon for the suggestion).
Introduced regularization of Sersic model ellipticities based on AMALGAm prescriptions for the Great3 challenge (see Mandelbaum et al. 2015).
Fixed error in ecliptic coordinate computations (thanks to H.Bouy for reporting this issue).
Added support for differential geometry maps, with new DGEO_TYPE and DGEO_IMAGE configuration keywords and new DGEOX/Y_IMAGE and DGEOX/YWIN_IMAGE measurement parameters.
Added differential geometry map correction to model-fitting.
Added VIGNET_DGEOX and VIGNET_DGEOY differential geometry map cutouts in catalogs (for use in PSFEx).
Added support for PSF model dependencies in ASSOC vectors.
Fixed issue with single-line background meshes.
Fixed positional offsets of large galaxy models on MODELS and -MODELS check-images.
Pushed version number to 2.23.1.
------------------------------------------------------------------------
r332 | bertin | 2014-03-19 14:56:33 +0100 (Wed, 19 Mar 2014) | 3 lines
Refactored management of aspect ratios in model-fitting.
Pushed version number to 2.19.5.
------------------------------------------------------------------------
r323 | bertin | 2013-09-24 10:03:28 +0200 (Tue, 24 Sep 2013) | 4 lines
Fixed positional offsets of large galaxy models on MODELS and -MODELS check-ima\
ges.
Pushed version number to 2.19.4.
------------------------------------------------------------------------
r321 | bertin | 2013-09-12 14:44:12 +0200 (Thu, 12 Sep 2013) | 2 lines
Added missing reset of measurements parameters at each catalog initialization.
------------------------------------------------------------------------
r320 | bertin | 2013-09-12 14:09:40 +0200 (Thu, 12 Sep 2013) | 5 lines
Fixed regression with --disable-model-fitting option.
Fixed issue with model fitting measurement leftovers with masked sources (thank
s to E. Rykoff).
Pushed version number to 2.19.3.
------------------------------------------------------------------------
r319 | marmo | 2013-08-17 22:41:03 +0200 (Sat, 17 Aug 2013) | 2 lines
Solved issue with --disable-model-fitting configuration option. Pushed version number to 2.19.2
------------------------------------------------------------------------
r314 | bertin | 2013-07-17 17:00:34 +0200 (Wed, 17 Jul 2013) | 2 lines
Fixed obsolete SExtractor measurement parameters in "make check" tests.
------------------------------------------------------------------------
r313 | bertin | 2013-07-17 16:40:17 +0200 (Wed, 17 Jul 2013) | 3 lines
Fixed compilation issue with finitef() function in profit.c on OSX 10.8.
Pushed version number to 2.19.1.
------------------------------------------------------------------------
r312 | bertin | 2013-07-05 15:52:54 +0200 (Fri, 05 Jul 2013) | 10 lines
Fixed issue with MINIBACKGROUND and MINIBACK_RMS multi-extension check-images.
Added new measurement parameters:
FLUXRATIO_POINTSOURCE : Point-source flux-to-total ratio from fitting,
FLUXRATIOERR_POINTSOURCE : Uncertainty on point-source flux-to-total ratio,
FLUXRATIO_SPHEROID : Spheroid flux-to-total ratio from fitting,
FLUXRATIOERR_SPHEROID : Uncertainty on spheroid flux-to-total ratio,
FLUXRATIO_DISK : Disk flux-to-total ratio from fitting, and
FLUXRATIOERR_DISK : Uncertainty on disk flux-to-total ratio.
Pushed version number to 2.19.0
------------------------------------------------------------------------
r311 | bertin | 2013-06-18 12:35:54 +0200 (Tue, 18 Jun 2013) | 2 lines
Fixed uninitialized 2nd BACK_VALUE in double image + BACK_TYPE MANUAL modes.
------------------------------------------------------------------------
r310 | bertin | 2013-06-06 17:06:51 +0200 (Thu, 06 Jun 2013) | 3 lines
Fixed missing image name in sex.xml VOTable output in double image mode when input filenames are separated by a comma instead of a space.
Pushed version number to 2.18.12
------------------------------------------------------------------------
r309 | bertin | 2013-04-27 15:35:48 +0200 (Sat, 27 Apr 2013) | 8 lines
Fixed issue with ASSOC_TYPE NEAREST (Thanks to V. de Lapparent).
Fixed regression with Eli Rykoff's fixes.
Fixed issue with FFTW includes.
Fixed typos in VOTable output.
Added translation of Boolean T and F to Y and N in XSLT.
Added --with-mkl-dir option in configure.
Pushed version number to 2.18.11.
------------------------------------------------------------------------
r307 | bertin | 2013-04-05 10:23:35 +0200 (Fri, 05 Apr 2013) | 3 lines
Added proper correction of model subsampling to SPHEROIDS and DISKS check-images.
Pushed version number to 2.18.9.
------------------------------------------------------------------------
r306 | bertin | 2013-04-04 17:54:11 +0200 (Thu, 04 Apr 2013) | 2 lines
Fixed typo in acx_mkl (no consequence here).
------------------------------------------------------------------------
r305 | bertin | 2013-04-04 00:04:38 +0200 (Thu, 04 Apr 2013) | 11 lines
Added support for Gaussian priors on (transformed) model parameters (deactivated).
Fixed model sub-sampling issues with large objects, including check-image resizing.
Fixed initialization of DETMODEL size guess (thanks to Eli Rykoff).
Fixed image extension pb in double weighting/single image mode.
Improved debug info for memory allocations in FFT and FITS libraries.
Fixed crashes with DETMODEL magnitudes on null measurement weight maps.
Added Eli Rykoff's fix to discard sources with NaNs in the fitted positions.
Improved MKL autoconfiguration.
Improved vectorization in FITS data transformations and FFT-based convolutions.
Pushed SExtractor version number to 3.18.8.
------------------------------------------------------------------------
r302 | bertin | 2012-09-23 18:27:09 +0200 (Sun, 23 Sep 2012) | 4 lines
Fixed issue with the position, positional uncertainties and flux of (large) sub-sampled models.
Fixed padding issue for binary FITS catalogs >2GB.
Pushed version number to 2.18.4.
------------------------------------------------------------------------
r300 | bertin | 2012-07-19 18:21:32 +0200 (Thu, 19 Jul 2012) | 4 lines
Added support for CORE-AVX2 and CORE-AVC-I optimized code when using INTEL compiler.
Added better control of the number of threads used in MKL library calls (when used).
Pushed version number to 2.18.3.
------------------------------------------------------------------------
r298 | bertin | 2012-07-17 22:20:15 +0200 (Tue, 17 Jul 2012) | 3 lines
Fixed issue with --with-fftw-libdir configure option (thanks to John P. Marriner).
Fixed minor issue with the reading of TNX and TPV WCS coefficients.
------------------------------------------------------------------------
r297 | bertin | 2012-07-12 18:05:39 +0200 (Thu, 12 Jul 2012) | 5 lines
Fixed regression with FITS image extension numbering.
Fixed issues with PSF image extension numbering.
Fixed crashes when calling FFT routines with the MKL library.
Pushed version number to 2.18.2.
------------------------------------------------------------------------
r296 | bertin | 2012-07-12 11:31:00 +0200 (Thu, 12 Jul 2012) | 3 lines
Replaced --enable-gprof configuration with --enable-profiling.
Switched on --enable-mkl for make rpm-best.
------------------------------------------------------------------------
r295 | bertin | 2012-07-11 18:51:29 +0200 (Wed, 11 Jul 2012) | 5 lines
Fixed obsolete autoconf macros in configure.ac
Added control of the number of threads in MKL calls.
Added support for negative NTHREADS (= max number of threads).
Pushed version number to 2.18.1.
------------------------------------------------------------------------
r294 | bertin | 2012-07-10 00:02:36 +0200 (Tue, 10 Jul 2012) | 4 lines
Added support for the INTEL MKL library in place of ATLAS and FFTW (configure --enable-mkl option).
Updated LevMar library to V2.6.
Pushed version number to 2.18.0.
------------------------------------------------------------------------
r293 | bertin | 2012-07-09 10:53:30 +0200 (Mon, 09 Jul 2012) | 5 lines
Updated WCS library: fixed issue with TPV CTYPEs and added support for MJDSTART header keyword.
Updated FITS library to the latest version, removing potential conflicts with the CFITSIO library.
Added PSF/model-fitting support for MEFs.
Pushed version number to 2.17.0
------------------------------------------------------------------------
r292 | bertin | 2012-06-06 22:01:59 +0200 (Wed, 06 Jun 2012) | 2 lines
Fixed Inf in some instances of SPREADERR_MODEL.
------------------------------------------------------------------------
r291 | bertin | 2012-06-03 21:43:35 +0200 (Sun, 03 Jun 2012) | 3 lines
Fixed obsolete behaviour with 8 bit images (would suppose 8 bit integers are signed by default).
Pushed version number to 2.16.3.
------------------------------------------------------------------------
r290 | bertin | 2012-06-01 21:08:09 +0200 (Fri, 01 Jun 2012) | 4 lines
Fixed sporadic occurences of NaN in SPREADERR_MODEL and ERRBMODEL_IMAGE.
Updated WCS library to the latest version.
Pushed version number to 2.16.2.
------------------------------------------------------------------------
r284 | bertin | 2012-04-18 13:57:02 +0200 (Wed, 18 Apr 2012) | 12 lines
Fixed potential issues in ASSOCCOORD_TYPE WORLD mode.
Fixed triggering of model surface brightness measurement.
Added new FLUX_DETMODEL,FLUXERR_DETMODEL, MAG_DETMODEL,MAGERR_DETMODEL, FLAGS_DE
TMODEL and CHI2_DETMODEL measurement parameters that apply on the measurement im
age a model fitted on the detection image (two PSF models required); these new p
arameters are meant for measuring faint galaxy colors.
Improved displayed info for memory allocation failures.
Increased default maximum number of threads set by configure to 1024.
Updated Copyright display line (2012).
Added support for "TPV" WCS projection.
Pushed version number to 2.16.0.
------------------------------------------------------------------------
r271 | bertin | 2011-10-08 22:31:03 +0200 (Sat, 08 Oct 2011) | 2 lines
Fixed large memory leak in model-fitting.
------------------------------------------------------------------------
r265 | bertin | 2011-09-06 19:08:22 +0200 (Tue, 06 Sep 2011) | 2 lines
Fixed triggering of model surface brightness measurement.
------------------------------------------------------------------------
r264 | bertin | 2011-09-06 17:46:57 +0200 (Tue, 06 Sep 2011) | 5 lines
Fixed scaling issue with surface brightness measurements on galaxy models (thanks to V. de Lapparent).
Optimized the setup of astrometric polynoms.
Removed confusing FITS header keywords from non-MEF check-images.
Pushed version number to 2.14.7.
------------------------------------------------------------------------
r263 | bertin | 2011-08-22 15:11:43 +0200 (Mon, 22 Aug 2011) | 3 lines
Removed (dummy) WCS information from FITS_1.0 catalog primary header (thanks to H.J. McCracken for reporting).
Pushed version number to 2.14.5
------------------------------------------------------------------------
r262 | bertin | 2011-08-05 16:14:18 +0200 (Fri, 05 Aug 2011) | 2 lines
Added missing README in src/wcs/ subdirectory.
------------------------------------------------------------------------
r261 | bertin | 2011-08-05 16:13:20 +0200 (Fri, 05 Aug 2011) | 2 lines
Added forgotten LICENSE file in main directory.
------------------------------------------------------------------------
r257 | bertin | 2011-07-25 11:49:12 +0200 (Mon, 25 Jul 2011) | 2 lines
Replaced a third missing F in HAVE_SINCOSF!
------------------------------------------------------------------------
r256 | bertin | 2011-07-25 10:43:22 +0200 (Mon, 25 Jul 2011) | 2 lines
Replaced a second missing F in HAVE_SINCOSF.
------------------------------------------------------------------------
r255 | bertin | 2011-07-25 10:23:25 +0200 (Mon, 25 Jul 2011) | 2 lines
Had forgotten the final F in HAVE_SINCOSF in add_prof().
------------------------------------------------------------------------
r254 | bertin | 2011-07-25 10:20:17 +0200 (Mon, 25 Jul 2011) | 5 lines
Fixed missing test for sincosf() that prevented the code to compile on MacOS (thanks to C.Aspin).
Added support for RADESYS WCS keyword (non-standard RADECSYS still supported).
Fixed display precision issues with SPREAD_MODEL.
Pushed version number to 2.14.4.
------------------------------------------------------------------------
r250 | bertin | 2011-07-01 15:49:04 +0200 (Fri, 01 Jul 2011) | 4 lines
Fixed issue with FWHMPSF_WORLD.
Added support for AVX extensions with INTEL compiler v12.
Version number pushed to 2.14.2.
------------------------------------------------------------------------
r246 | bertin | 2011-05-31 22:07:38 +0200 (Tue, 31 May 2011) | 4 lines
Fixed regression involving SPREAD_MODEL and SPREADERR_MODEL (Thanks Shantanu for reporting).
Added Rescale_Weights PARAM in XML output.
Pushed version number to 2.14.1
------------------------------------------------------------------------
r244 | bertin | 2011-05-06 15:45:20 +0200 (Fri, 06 May 2011) | 8 lines
Fixed FLUX_HYBRID and MAG_HYBRID centering issues.
Added 2nd order moments measurements of the convolved model.
Fixed issues introduced in a recent updates with check-images.
Implemented new algorithms for SPREAD_MODEL and SPREADERR_MODEL (no optimization yet and the scaling is still variable however).
Added experimental SNR_WIN measurement parameter.
Fixed crash with empty ASSOC lists.
Pushed version number to 2.13.6.
------------------------------------------------------------------------
r243 | bertin | 2011-03-13 17:52:46 +0100 (Sun, 13 Mar 2011) | 3 lines
Added one extra decimal to position measurements in pixel coordinates.
Preliminary implementation of a RESCALE_WEIGHTS configuration switch.
------------------------------------------------------------------------
r242 | bertin | 2011-01-26 11:34:58 +0100 (Wed, 26 Jan 2011) | 2 lines
Added missing .vcproj distribution files in LevMar library directory.
------------------------------------------------------------------------
r241 | bertin | 2011-01-25 01:16:47 +0100 (Tue, 25 Jan 2011) | 4 lines
Added new ASSOCCOORD_TYPE configuration parameter for ASSOCiating detections either in PIXEL or WORLD coordinates.
Fixed sampling issues for Sersic, de Vaucouleurs and exponential model-fitting.
Version number pushed to 2.13.2.
------------------------------------------------------------------------
r239 | bertin | 2010-12-02 18:58:35 +0100 (Thu, 02 Dec 2010) | 2 lines
Fixed issue with output Check-image headers when reading individual extensions from MEFs (thanks to user Lantern for the bug report).
------------------------------------------------------------------------
r236 | bertin | 2010-11-11 15:55:08 +0100 (Thu, 11 Nov 2010) | 4 lines
Fixed issue with zero-sized columns in FITS binary tables,
Removed unused variables in poly.c.
Fixed issue with invalid comment in XSL stylesheet.
------------------------------------------------------------------------
r235 | bertin | 2010-10-25 22:50:17 +0200 (Mon, 25 Oct 2010) | 2 lines
Added FLUXHYBRID_,MAG_HYBRID
------------------------------------------------------------------------
r234 | bertin | 2010-10-14 16:06:58 +0200 (Thu, 14 Oct 2010) | 3 lines
Fixed issue with duplicated sources when PSF_NMAX is >1.
Pushed version number to 2.13.1.
------------------------------------------------------------------------
r233 | bertin | 2010-10-11 18:14:04 +0200 (Mon, 11 Oct 2010) | 11 lines
Moved the whole package back to GPL.
Added more complete headers to all files.
Clarified licensing issues.
Updated FITS library.
Updated configuration files.
Added configuration files to the list of data that get installed in ${prefix}/share/sextractor.
Added background offset and point-source model components: FLUX_BACKOFFSET,FLUXERR_BACKOFFSET,FLUX_POINTSOURCE,FLUXERR_POINTSOURCE,MAG_POINTSOURCE,MAGERR_POINTSOURCE.
Tweaked model-fitting convergence parameters.
Fixed catalogue source ordering/number issue in dual-image mode.
Pushed version number to 2.13.0.
------------------------------------------------------------------------
r231 | bertin | 2010-09-29 17:11:15 +0200 (Wed, 29 Sep 2010) | 3 lines
......
June 2017: 2.24
- Auto-config based on autogen.sh
- Main repository moved to GitHub
October 2010: 2.13
- Adaptive CLASS_STAR
- Model-fitting.
......
Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
Foundation, Inc.
Installing the software
***********************
Hardware requirements
=====================
PSFEx runs in (ANSI) text-mode from a shell. A window system is
not necessary for basic operation.
When it comes to memory usage, the amount required by SExtractor depends
mostly on the size of the input images and especially on the presence of
the so-called "check images". But in most cases it is less than one
gigabyte.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
The simplest way to compile this package is:
Obtaining SExtractor
====================
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
2. Type `make' to compile the package.
3. Type `make install' to install the programs and any data files and
documentation.
For Linux users, the simplest way to have SExtractor up and running is
to install the standard binary package that comes with your Linux
distribution. Run, e.g., "apt-get sextractor" (on Debian) or
"dnf install sextractor" (Fedora) and SExtractor, as well as all its
dependencies, will automatically be installed. If you decided to install
the package this way you're all set!
However if SExtractor is not available in your distribution, or to
obtain the most recent version, the SExtractor source package can be
downloaded from the official GitHub repository. One may choose one of
the stable releases, or for the fearless, a copy of the current master
development branch.
Compilers and Options
Software requirements
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
SExtractor has been developed on GNU/Linux machines and should compile
on any POSIX-compliant system (this includes Apple OS X and Cygwin
on Microsoft Windows, at the price of some difficulties with the
configuration), provided that the development packages of the
following libraries have been installed:
* ATLAS V3.6 and above [2],
* FFTw V3.0 and above [3],
On Fedora/Redhat distributions for instance, the development packages
above are available as "atlas-devel" and "fftw-devel".
ATLAS and FFTw are not necessary if SExtractor is linked with
Intel's MKL (Math Kernel Library) library.
Installation
============
To install from the GitHub source package, you must first uncompress
the archive:
$ unzip sextractor-<version>.zip
A new directory called "sextractor-<version>" should now appear at the
current location on your disk. Enter the directory and generate the
files required by the autotools, which the package relies on:
$ cd sextractor-<version>
$ sh autogen.sh
A "configure" script is created. This script has many options, which
may be listed with the "--help" option:
$ ./configure --help
No options are required for compiling with the default GNU C compiler
("gcc") if all the required libraries are installed at their default
locations:
$ ./configure
Compared to "gcc" and the librairies above, the combination of the
Intel compiler ("icc") and the MKL (Math Kernel Library) libraries
can give the SExtractor executable a significant boost in performance,
thanks to better vectorized code, and reduced memory usage. If "icc"
and the MKL (Math Kernel Library) are installed on your system [4],
you can take advantage of those using instead
$ ./configure --enable-mkl
Additionally, if the SExtractor binary is to be run on a different
machine that does not have "icc" and the MKL (Math Kernel Library)
installed (e.g., a cluster computing node), you must configure a
partially statically linked executable using
$ ./configure --enable-mkl --enable-auto-flags --enable-best-link
In all cases, SExtractor can now be compiled with
$ make -j
An "src/sex" executable is created. For system-wide installation,
run the usual
$ sudo make install
You can give `configure' initial values for variables by setting
them in the environment. You can do that on the command line like this:
You may now check that the software is properly installed by simply
typing in your shell:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
$ sex
(note that some shells require the "rehash" command to be run before
making a freshly installed executable accessible in the execution
path).
Installation Names
==================
[1] Mac OS X ".dmg" packages should be available soon.
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
[2] Use the "--with-atlas" and/or "--with-atlas-incdir" options of
the SExtractor "configure" script to specify the ATLAS library and
include paths if ATLAS files are installed at unusual locations.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
[3] Make sure that FFTw has been compiled with "configure"
options "--enable-threads --enable-float".
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
[4] The Linux versions of the Intel compiler and MKL (Math
Kernel Library) are available for free to academic researchers,
students, educators and open source contributors.
......@@ -7,7 +7,7 @@
#
# This file part of: SExtractor
#
# Copyright: (C) 2002-2012 Emmanuel Bertin -- IAP/CNRS/UPMC
# Copyright: (C) 2002-2017 IAP/CNRS/UPMC
#
# License: GNU General Public License
#
......@@ -22,31 +22,44 @@
# You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
#
# Last modified: 09/07/2012
# Last modified: 19/06/2017
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = foreign no-dependencies
SUBDIRS = man src tests
SUBDIRS = src man doc tests debian
dist_pkgdata_DATA = config/* xsl/sextractor.xsl
EXTRA_DIST = doc AUTHORS BUGS ChangeLog COPYRIGHT HISTORY \
INSTALL LICENSE README THANKS \
acx_atlas.m4 acx_fftw.m4 acx_mkl.m4 \
acx_prog_cc_optim.m4 acx_urbi_resolve_dir.m4
EXTRA_DIST = autogen.sh AUTHORS BUGS ChangeLog COPYRIGHT \
HISTORY INSTALL LICENSE README THANKS
RPM_ROOTDIR = `rpmbuild --nobuild -E %_topdir`
RPM_SRCDIR = $(RPM_ROOTDIR)/SOURCES
DEB_SRCDIR = ~/DEBIAN/SOURCES
dist-hook:
rm -rf `find $(distdir) -name .svn`
rm -rf `find $(distdir) -type d \( -name .svn -o -name .git \)`
rpm: dist
cp -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
rpmbuild -ba --clean --nodeps $(PACKAGE_NAME).spec
cp -f $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
rpmbuild -ba --clean --nodeps $(PACKAGE_TARNAME).spec
rpm-icc: dist
cp -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
USE_ICC="1" rpmbuild -ba --clean --nodeps $(PACKAGE_NAME).spec
cp -f $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
USE_ICC="1" rpmbuild -ba --clean --nodeps $(PACKAGE_TARNAME).spec
rpm-best: dist
cp -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
USE_BEST="1" rpmbuild -ba --clean --nodeps $(PACKAGE_NAME).spec
cp -f $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz $(RPM_SRCDIR)
USE_BEST="1" rpmbuild -ba --clean --nodeps $(PACKAGE_TARNAME).spec
deb: dist
mkdir -p $(DEB_SRCDIR)
tar -xvf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz -C $(DEB_SRCDIR)
cd $(DEB_SRCDIR)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
debuild -j4 -b -us -uc
deb-best: dist
mkdir -p $(DEB_SRCDIR)
tar -xvf $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz -C $(DEB_SRCDIR)
cd $(DEB_SRCDIR)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
debuild --set-envvar=USE_BEST=1 --preserve-env --preserve-envvar=PATH -j4 -b -us -uc
This diff is collapsed.
Stéphane Arnouts <Stephane.Arnouts@oamp.fr>
Stéphane Arnouts
Suggestions and extensive testing
Marta Arroyo <marta.arroyo@alumnos.unican.es>
Marta Arroyo
For her preparatory work on galaxy model-fitting
Pierre Astier <pierre.astier@in2p3.fr>
Pierre Astier
Suggestions and bug fixes
Eric Aubourg <Eric.Aubourg@cea.fr>
Eric Aubourg
Hints about how to optimize a C code
Anthony Baillard <baillard@iap.fr>
Anthony Baillard
Testing of model-fitting
Gary Bernstein <garyb@physics.upenn.edu>
Gary Bernstein
Helping with error estimates
Mark Calabretta <mcalabre@atnf.csiro.au>
Mark Calabretta
SExtractor uses an early version of his great WCS library
Philippe Delorme <pdelorme@obs.ujf-grenoble.fr>
Philippe Delorme
Debugging and improving PSF-fitting
Akim Demaille <akim@lrde.epita.fr>
Akim Demaille
for solving the $datarootdir issue and providing the URBI_RESOLVE_DIR()
function.
Shantanu Desai <shantanu@astro.illinois.edu>
Shantanu Desai
Finding well-hidden bugs.
Pascal Fouqué <pfouque@eso.org>
Pascal Fouqué
Suggestions and testing
Raphaël Gavazzi <gavazzi@iap.fr>
Raphaël Gavazzi
Checking shape measurements
Delphine Hardin <hardin@in2p3.fr>
Delphine Hardin
Suggestions and bug fixes
Benne Holwerda <holwerda@stsci.edu>
Benne Holwerda
For making his cookbook available
Jean-Paul Kneib <kneib@omp.fr>, Ian Smail <Ian.Smail@durham.ac.uk>
Jean-Paul Kneib, Ian Smail
Suggestions and spreading the software back in the early days!
Jan Kohnert <jan.kohnert@nexgo.de>
Jan Kohnert
Helping SExtractor users
Ville Laurikari <vl@iki.fi>
Ville Laurikari
For his VL_PROG_CC_WARNINGS (modified to ACX_PROG_CC_OPTIM)
Valérie de Lapparent <lapparen@iap.fr>
Valérie de Lapparent
Suggestions and testing of model-fitting
Manolis Lourakis <lourakis@ics.forth.gr>
Manolis Lourakis
For his implementation of the Levenberg-Marquardt algorithm
Chiara Marmo <marmo@iap.fr>
Chiara Marmo
For providing the VOTable to HTML XSLT filter and testing.
Joe Mohr <jmohr@illinois.edu>
Joe Mohr
Suggestions and testing
Sergio Pascual <sergiopr@astrax.fis.ucm.es>
Sergio Pascual
Helping with autoconfig and packaging
Nacho Sevilla <nsevilla@gmail.com>
Nacho Sevilla
Testing star/galaxy classification
Víctor Terrón <vterron@iaa.es>
Víctor Terrón
Suggesting and documenting DETECT_MAXAREA
Patrick Tisserand <tisseran@mso.anu.edu.au>
Patrick Tisserand
Testing PSF-fitting
Gérard Tissier <tissier@iap.fr>
Gérard Tissier
Preliminary implementation of the VOTable output
Institut d'Astrophysique de Paris
......@@ -57,7 +57,7 @@ DeNIS project
European Southern Observatory
Sterrewacht Leiden
TERAPIX project
French Ministry of Research Grant 04-5500 (“ACI masse de donn´ees”)
French Ministry of Research Grant 04-5500 (“ACI masse de données”)
University of Illinois
Dark Energy Survey data management project
Financial and technical support
......
dnl
dnl acx_atlas.m4
dnl
dnl Figure out if the ATLAS library and header files are installed.
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl This file part of: AstrOmatic software
dnl
dnl Copyright: (C) 2003-2010 Emmanuel Bertin -- IAP/CNRS/UPMC
dnl
dnl License: GNU General Public License
dnl
dnl AstrOmatic software is free software: you can redistribute it and/or
dnl modify it under the terms of the GNU General Public License as
dnl published by the Free Software Foundation, either version 3 of the
dnl License, or (at your option) any later version.
dnl AstrOmatic software is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl You should have received a copy of the GNU General Public License
dnl along with AstrOmatic software.
dnl If not, see <http://www.gnu.org/licenses/>.
dnl
dnl Last modified: 12/12/2011
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl @synopsis ACX_ATLAS([ATLAS_LIBSDIR, ATLAS_INCDIR, ATLAS_PFLAG,
dnl [ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
dnl You may wish to use these variables in your default LIBS:
dnl
dnl LIBS="$ATLAS_LIBS $LIBS"
dnl
dnl ACTION-IF-FOUND is a list of shell commands to run if BLAS/LAPACK
dnl is found (HAVE_ATLAS is defined first), and ACTION-IF-NOT-FOUND
dnl is a list of commands to run it if it is not found.
AC_DEFUN([ACX_ATLAS], [
AC_REQUIRE([AC_CANONICAL_HOST])
dnl --------------------
dnl Search include files
dnl --------------------
acx_atlas_ok=no
if test x$2 = x; then
if test x$1 = x; then
AC_CHECK_HEADERS([cblas.h clapack.h],[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE(ATLAS_BLAS_H, "cblas.h", [BLAS header filename.])
AC_DEFINE(ATLAS_LAPACK_H, "clapack.h", [CLAPACK header filename.])
else
AC_CHECK_HEADERS([atlas/cblas.h atlas/clapack.h],[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE(ATLAS_BLAS_H, "atlas/cblas.h", [BLAS header filename.])
AC_DEFINE(ATLAS_LAPACK_H, "atlas/clapack.h", [CLAPACK header filename.])
else
atlas_def=/usr/local/atlas
AC_CHECK_HEADERS(
[$atlas_def/include/cblas.h $atlas_def/include/clapack.h],
[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE_UNQUOTED(ATLAS_BLAS_H, "$atlas_def/include/cblas.h",
[BLAS header filename.])
AC_DEFINE_UNQUOTED(ATLAS_LAPACK_H, "$atlas_def/include/clapack.h",
[CLAPACK header filename.])
else
atlas_def=/usr/atlas
AC_CHECK_HEADERS(
[$atlas_def/include/cblas.h $atlas_def/include/clapack.h],
[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE_UNQUOTED(ATLAS_BLAS_H, "$atlas_def/include/cblas.h",
[BLAS header filename.])
AC_DEFINE_UNQUOTED(ATLAS_LAPACK_H, "$atlas_def/include/clapack.h",
[CLAPACK header filename.])
else
ATLAS_ERROR="CBLAS/LAPack include files not found!"
fi
fi
fi
fi
else
AC_CHECK_HEADERS([$1/include/cblas.h $1/include/clapack.h],
[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE_UNQUOTED(ATLAS_BLAS_H, "$1/include/cblas.h",
[BLAS header filename.])
AC_DEFINE_UNQUOTED(ATLAS_LAPACK_H, "$1/include/clapack.h",
[CLAPACK header filename.])
else
AC_CHECK_HEADERS([cblas.h clapack.h],[acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE_UNQUOTED(ATLAS_BLAS_H, "cblas.h",
[BLAS header filename.])
AC_DEFINE_UNQUOTED(ATLAS_LAPACK_H, "clapack.h",
[CLAPACK header filename.])
else
ATLAS_ERROR="CBLAS/LAPack include files not found in $1/include!"
fi
fi
fi
else
AC_CHECK_HEADERS([$2/cblas.h $2/clapack.h], [acx_atlas_ok=yes])
if test x$acx_atlas_ok = xyes; then
AC_DEFINE_UNQUOTED(ATLAS_BLAS_H, "$2/cblas.h",
[BLAS header filename.])
AC_DEFINE_UNQUOTED(ATLAS_LAPACK_H, "$2/clapack.h",
[CLAPACK header filename.])
else
ATLAS_ERROR="CBLAS/LAPack include files not found in $2!"
fi
fi
dnl --------------------
dnl Search library files
dnl --------------------
if test x$acx_atlas_ok = xyes; then
OLIBS="$LIBS"
LIBS=""
if test x$1 = x; then
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH=""
else
atlas_def=/usr/local/atlas
unset ac_cv_lib_lapack_clapack_dpotrf
unset ac_cv_lib_cblas_cblas_dgemm
acx_atlas_ok=yes
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$atlas_def/lib -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$atlas_def/lib -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$atlas_def/lib"
else
atlas_def=/usr/lib64/atlas
unset ac_cv_lib_lapack_clapack_dpotrf
unset ac_cv_lib_cblas_cblas_dgemm
acx_atlas_ok=yes
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$atlas_def -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$atlas_def -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$atlas_def"
else
atlas_def=/usr/lib/atlas
unset ac_cv_lib_lapack_clapack_dpotrf
unset ac_cv_lib_cblas_cblas_dgemm
acx_atlas_ok=yes
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$atlas_def -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$atlas_def -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$atlas_def"
else
atlas_def=/usr/atlas
unset ac_cv_lib_lapack_clapack_dpotrf
unset ac_cv_lib_cblas_cblas_dgemm
acx_atlas_ok=yes
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$atlas_def/lib -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$atlas_def/lib -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$atlas_def/lib"
else
ATLAS_ERROR="CBLAS/LAPack library files not found at usual locations!"
fi
fi
fi
fi
fi
else
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$1 -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$1 -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$1"
else
unset ac_cv_lib_lapack_clapack_dpotrf
unset ac_cv_lib_cblas_cblas_dgemm
acx_atlas_ok=yes
AC_CHECK_LIB(lapack, [clapack_dpotrf],, [acx_atlas_ok=no],
[-L$1/lib -lcblas -latlas -lm])
AC_CHECK_LIB(cblas, cblas_dgemm,, [acx_atlas_ok=no],
[-L$1/lib -latlas -lm])
if test x$acx_atlas_ok = xyes; then
ATLAS_LIBPATH="-L$1/lib"
else
ATLAS_ERROR="CBLAS/LAPack library files not found in $1!"
fi
fi
fi
LIBS="$OLIBS"
fi
AC_SUBST(ATLAS_LIBPATH)
AC_SUBST(ATLAS_CFLAGS)
dnl -------------------------------------------------------------------------
dnl Finally, check MP version and execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND
dnl -------------------------------------------------------------------------
if test x"$acx_atlas_ok" = xyes; then
AC_DEFINE(HAVE_ATLAS,1,
[Define if you have the ATLAS libraries and header files.])
if test x$3 = xyes; then
dnl Check whether the multithreaded version of ATLAS is there too:
AC_CHECK_LIB(ptcblas, cblas_dgemm, [acx_atlast_ok=yes], [acx_atlast_ok=no],
[$ATLAS_LIBPATH -lcblas -latlas -lm])
if test x$acx_atlast_ok = xyes; then
ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lptcblas -lcblas -latlas"
LIBS="$OLIBS"
AC_SUBST(ATLAS_LIBS)
AC_DEFINE(HAVE_ATLAS_MP,1,
[Define if you have the parallel ATLAS libraries.])
$4
else
ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lcblas -latlas"
LIBS="$OLIBS"
AC_SUBST(ATLAS_LIBS)
ATLAS_WARN="CBLAS/LAPack was compiled without multithreading support!"
AC_SUBST(ATLAS_WARN)
$4
fi
else
ATLAS_LIBS="$ATLAS_LIBPATH -llapack -lcblas -latlas"
LIBS="$OLIBS"
AC_SUBST(ATLAS_LIBS)
$4
fi
else
AC_SUBST(ATLAS_ERROR)
$5
fi
])dnl ACX_ATLAS
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2007-03-29.01
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
This diff is collapsed.
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2006-05-10.23
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
msg="missing on your system"
case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
eval LASTARG="\${$#}"
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if test ! -f y.tab.h; then
echo >y.tab.h
fi
if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
eval LASTARG="\${$#}"
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '
/^@setfilename/{
s/.* \([^ ]*\) *$/\1/
p
q
}' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;
tar)
shift
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case "${1}" in
-h | --help | --h* ) # -h for help
echo "${usage}" 1>&2; exit 0 ;;
-m ) # -m PERM arg
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
dirmode="${1}"
shift ;;
-- ) shift; break ;; # stop option processing
-* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
* ) break ;; # first non-opt arg
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi ;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi ;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 3
# End:
# mkinstalldirs ends here
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment