Unverified Commit 08c0ebe3 authored by Emmanuel Bertin's avatar Emmanuel Bertin Committed by GitHub
Browse files

Merge pull request #47 from astromatic/develop

Develop
parents 9689a1c4 f7c10f46
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
name: doc

on:
  push:
    paths:
      - 'doc/**'
  pull_request:
    paths:
      - 'doc/**'
  workflow_dispatch:

jobs:

#############
# Build doc #
#############
  build:
    name: Make doc
    continue-on-error: false
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Install dependencies
        run: |
          pip3 install -r doc/requirements.txt
          sudo apt-get -y install latexmk texlive-latex-recommended texlive-fonts-recommended texlive-formats-extra

      - name: Build doc
        run: |
          ./autogen.sh
          ./configure --disable-model-fitting --disable-cfitsio --disable-threads
          cd doc
          make html
          make latexpdf
          cp build/latex/sextractor.pdf build/html/

      - name: Set destination dir
        if: github.ref_name != 'main'
        run: |
          echo "DOC_DEST=${{ github.ref_name }}" >> $GITHUB_ENV

      - name: Deploy
        if: success()
        uses: peaceiris/actions-gh-pages@v3
        with:
          publish_branch: doc-pages
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: doc/build/html/
          destination_dir: ${{ env.DOC_DEST }}

+11 −11
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ Installing the software
Hardware requirements
=====================

PSFEx runs in (ANSI) text-mode from a shell. A window system is
SExtractor 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
@@ -75,18 +75,19 @@ 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
Intel compiler ("icc" or "icx") 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" (or "icx") 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
machine that does not have "icc" (or "icx") and the MKL 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

@@ -118,6 +119,5 @@ path).
    options "--enable-threads --enable-float".

[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.
    Kernel Library) are now available for free on Intel's website.
+60 −22
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
#
#	This file part of:	SExtractor
#
#	Copyright:		(C) 2002-2022 IAP/CNRS/SorbonneU
#	Copyright:		(C) 2002-2023 CFHT/IAP/CNRS/SorbonneU
#
#	License:		GNU General Public License
#
@@ -22,7 +22,7 @@
#	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/03/2022
#	Last modified:		07/03/2023
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@@ -31,8 +31,8 @@ define([AC_CACHE_LOAD],)
define([AC_CACHE_SAVE],)

# This is your standard AstrOmatic source code...
AC_INIT(SExtractor, 2.25.3, [astromatic@astromatic.net],
	sextractor, [http://astromatic.net/software/sextractor])
AC_INIT([SExtractor],[2.28.0],[astromatic@astromatic.iap.fr],
        [sextractor],[http://astromatic.net/software/sextractor])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR(autoconf)
AC_CONFIG_SRCDIR(src/makeit.c)
@@ -53,6 +53,7 @@ sinclude(acx_atlas.m4)
sinclude(acx_openblas.m4)
sinclude(acx_fftw.m4)
sinclude(acx_mkl.m4)
sinclude(acx_cfitsio.m4)
sinclude(acx_prog_cc_optim.m4)
sinclude(acx_pthread.m4)
sinclude(acx_urbi_resolve_dir.m4)
@@ -79,24 +80,38 @@ AC_ARG_ENABLE(auto-flags,
	AC_MSG_RESULT([yes]),
	AC_MSG_RESULT([no]))

# Provide special option for the Linux Intel C compiler
AC_MSG_CHECKING([whether the INTEL compiler is enabled])
# Provide special option for the Linux Intel C "classic" compiler
AC_MSG_CHECKING([whether the classic INTEL compiler is enabled])
AC_ARG_ENABLE(icc,
	[AS_HELP_STRING([--enable-icc],
	[Use the Intel compiler (default = no)])],
        CC="icc"
        enable_iccx="yes"
	AC_MSG_RESULT([yes]),
	AC_MSG_RESULT([no]))

# Provide special option for the Linux Intel OneAPI C compiler
AC_MSG_CHECKING([whether the INTEL compiler is enabled])
AC_ARG_ENABLE(icx,
	[AS_HELP_STRING([--enable-icx],
	[Use the Intel compiler (default = no)])],
        CC="icx"
        enable_iccx="yes"
	AC_MSG_RESULT([yes]),
	AC_MSG_RESULT([no]))

# Provide special options for INTEL MKL
# We force the use of icc
# We use icc if available, if not Intel OneAPI's icx
# (we don't use AC_PROG_CC as it does not play nice
# in a conditional block)
AC_MSG_CHECKING([whether INTEL's MKL is enabled])
AC_ARG_ENABLE(mkl,
	[AS_HELP_STRING([--enable-mkl],
	[Use INTEL's MKL for solvers and FFTs (default = no)])],
        enable_icc="yes"
        CC="icc"
	AC_MSG_RESULT([yes]),
	    AC_MSG_RESULT([yes])
        CC=""
        [AC_CHECK_PROGS(CC, [icc icx cc])]
        enable_iccx="yes",
	AC_MSG_RESULT([no]))

# Checks for programs.
@@ -115,11 +130,10 @@ AC_PROG_INSTALL
AC_CHECK_LIB(m, sin)

# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \
		sys/types.h unistd.h])
# Checks for INTEL math header files.
if test "$enable_icc" = "yes"; then
if test "$enable_iccx" = "yes"; then
  AC_CHECK_HEADERS(mathimf.h)
fi

@@ -135,7 +149,6 @@ AC_TYPE_UID_T
# Checks for library functions.
AC_FUNC_ERROR_AT_LINE
AC_FUNC_MMAP
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_STRFTIME
AC_CHECK_FUNCS([atexit getenv gettimeofday isinf isnan logf memcpy memmove \
@@ -180,6 +193,24 @@ AC_ARG_WITH(openblas-incdir,
	[AS_HELP_STRING([--with-openblas-incdir=<OpenBLAS header dir>],
	[Provide an alternative path to the OpenBLAS header directory])])

# Provide special option for CFITSIO
AC_MSG_CHECKING([whether CFITSIO support should be disabled (default=enabled)])
AC_ARG_ENABLE(cfitsio,
	[AS_HELP_STRING([--disable-cfitsio],
	[Disable support for compressed FITS files through the CFITSIO library (default=enabled)])],
	if test "$enable_cfitsio" = "no"; then
	  AC_MSG_RESULT([yes])
	else
	  AC_MSG_RESULT([no])
	fi,
	AC_MSG_RESULT([no]))
AC_ARG_WITH(cfitsio-libdir,
	[AS_HELP_STRING([--with-cfitsio-libdir=<CFITSIO library path>],
	[Provide an alternative path to the CFITSIO library])])
AC_ARG_WITH(cfitsio-incdir,
	[AS_HELP_STRING([--with-cfitsio-incdir=<CFITSIO include dir>],
	[Provide an alternative path to the CFITSIO include directory])])

# Provide a special option for the default XSLT URL
with_xsl_url="file://"$(URBI_RESOLVE_DIR([$datadir]))"/$PACKAGE_TARNAME/$PACKAGE_TARNAME.xsl"
AC_ARG_WITH(xsl_url,
@@ -222,7 +253,7 @@ use_pthreads="no"
AC_MSG_CHECKING([for profiler mode])
AC_ARG_ENABLE(profiling,
	[AS_HELP_STRING([--enable-profiling],
	[Enable special mode for profiling (default = no)])]
	[Enable special mode for profiling (default = no)])],
	AC_MSG_RESULT([yes]),
	AC_MSG_RESULT([no]))

@@ -256,10 +287,7 @@ if test "$enable_model_fitting" != "no"; then
  if test "$enable_mkl" = "yes"; then
    convlibs="${srcdir}/wcs/libwcs_c.a,${srcdir}/levmar/liblevmar.a"
    ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs)
    if test "$MKL_WARN" == ""; then
      AC_MSG_RESULT([yes])
    else
      AC_MSG_RESULT([no])
    if test "$MKL_WARN" != ""; then
      AC_MSG_WARN([$MKL_WARN])
    fi
    AM_CFLAGS="$AM_CFLAGS $MKL_CFLAGS "
@@ -305,11 +333,21 @@ if test "$enable_model_fitting" != "no"; then
  fi
fi

########################## handle the CFITSIO library ########################
if test "$enable_cfitsio" != "no"; then
  ACX_CFITSIO($with_cfitsio_libdir, $with_cfitsio_incdir,
	[LIBS="$CFITSIO_LIBS $LIBS"]
	if test "$CFITSIO_WARN" != ""; then
	  AC_MSG_WARN([$CFITSIO_WARN])
	fi,
	AC_MSG_ERROR([$CFITSIO_ERROR Exiting.]))
fi

AM_CONDITIONAL(USE_MODEL, [test "$enable_model_fitting" != "no"])

# Compile with profiling option
if test "$enable_profiling" = "yes"; then
  if test "$enable_icc" = "yes"; then
  if test "$enable_iccx" = "yes"; then
    AM_CFLAGS="$AM_CFLAGS -pq"
  else
    AM_CFLAGS="$AM_CFLAGS -pg"
@@ -319,9 +357,9 @@ fi

# "Best" linking option
if test "$enable_best_link" = "yes"; then
  if test "$enable_icc" = "yes"; then
    AM_LDFLAGS="-static-intel -qopenmp-link static -shared-libgcc \
	-static-libtool-libs -no-intel-extensions -avoid-version $AM_LDFLAGS"
  if test "$enable_iccx" = "yes"; then
    AM_LDFLAGS="-static-intel -qopenmp-link=static -shared-libgcc \
	-static-libtool-libs -avoid-version $AM_LDFLAGS"
  else
    AM_LDFLAGS="-shared-libgcc -static-libtool-libs -avoid-version $AM_LDFLAGS"
  fi
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ ifeq ($(USE_BEST),1)
	dh_auto_configure -- --host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr --mandir=\$${prefix}/share/man \
			--enable-icc --enable-mkl \
			--enable-icx --enable-mkl \
			--enable-auto-flags --enable-best-link \
			--with-release=$(PACKAGE_RELEASE)
else
+4 −1
Original line number Diff line number Diff line
sphinxcontrib-bibtex
sphinx >= 5.0
sphinx_rtd_theme >= 1.1
sphinxcontrib-bibtex >= 2.4.0
Loading