diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 58 |
1 files changed, 44 insertions, 14 deletions
@@ -1,12 +1,12 @@ #! /bin/sh # configure script for Lzip - LZMA lossless data compressor -# Copyright (C) 2008-2019 Antonio Diaz Diaz. +# Copyright (C) 2008-2021 Antonio Diaz Diaz. # # This configure script is free software: you have unlimited permission -# to copy, distribute and modify it. +# to copy, distribute, and modify it. pkgname=lzip -pkgversion=1.21 +pkgversion=1.22 progname=lzip srctrigger=doc/${pkgname}.texi @@ -20,17 +20,16 @@ bindir='$(exec_prefix)/bin' datarootdir='$(prefix)/share' infodir='$(datarootdir)/info' mandir='$(datarootdir)/man' +build=no +check=no +installdir= CXX=g++ CPPFLAGS= CXXFLAGS='-Wall -W -O2' LDFLAGS= # checking whether we are using GNU C++. -/bin/sh -c "${CXX} --version" > /dev/null 2>&1 || - { - CXX=c++ - CXXFLAGS=-O2 - } +/bin/sh -c "${CXX} --version" > /dev/null 2>&1 || { CXX=c++ ; CXXFLAGS=-O2 ; } # Loop over all args args= @@ -42,11 +41,12 @@ while [ $# != 0 ] ; do shift # Add the argument quoted to args - args="${args} \"${option}\"" + if [ -z "${args}" ] ; then args="\"${option}\"" + else args="${args} \"${option}\"" ; fi # Split out the argument for options that take them case ${option} in - *=*) optarg=`echo ${option} | sed -e 's,^[^=]*=,,;s,/$,,'` ;; + *=*) optarg=`echo "${option}" | sed -e 's,^[^=]*=,,;s,/$,,'` ;; esac # Process the options @@ -67,6 +67,9 @@ while [ $# != 0 ] ; do echo " --datarootdir=DIR base directory for doc and data [${datarootdir}]" echo " --infodir=DIR info files directory [${infodir}]" echo " --mandir=DIR man pages directory [${mandir}]" + echo " --build build in one step without using 'make'" + echo " --check check without using 'make', implies --build" + echo " --installdir=BINDIR install without using 'make', implies --build" echo " CXX=COMPILER C++ compiler to use [${CXX}]" echo " CPPFLAGS=OPTIONS command line options for the preprocessor [${CPPFLAGS}]" echo " CXXFLAGS=OPTIONS command line options for the C++ compiler [${CXXFLAGS}]" @@ -84,6 +87,7 @@ while [ $# != 0 ] ; do --datarootdir) datarootdir=$1 ; arg2=yes ;; --infodir) infodir=$1 ; arg2=yes ;; --mandir) mandir=$1 ; arg2=yes ;; + --installdir) installdir=$1 ; arg2=yes ;; --srcdir=*) srcdir=${optarg} ;; --prefix=*) prefix=${optarg} ;; @@ -92,6 +96,9 @@ while [ $# != 0 ] ; do --datarootdir=*) datarootdir=${optarg} ;; --infodir=*) infodir=${optarg} ;; --mandir=*) mandir=${optarg} ;; + --build) build=yes ;; + --check) check=yes ; build=yes ;; + --installdir=*) installdir=${optarg} ; build=yes ;; --no-create) no_create=yes ;; CXX=*) CXX=${optarg} ;; @@ -125,7 +132,7 @@ if [ -z "${srcdir}" ] ; then if [ ! -r "${srcdir}/${srctrigger}" ] ; then srcdir=.. ; fi if [ ! -r "${srcdir}/${srctrigger}" ] ; then ## the sed command below emulates the dirname command - srcdir=`echo $0 | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + srcdir=`echo "$0" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` fi fi @@ -138,6 +145,29 @@ fi # Set srcdir to . if that's what it is. if [ "`pwd`" = "`cd "${srcdir}" ; pwd`" ] ; then srcdir=. ; fi +if [ "${build}" = yes ] ; then + objs=$(sed -e :a -e '/\\$/N; s/\\\n//; ta' "${srcdir}/Makefile.in" | \ + sed -n -e 's/^ *objs *= *//p' | sed -e 's/ \{2,\}/ /g') + for ofile in ${objs} ; do + file="${ofile%.o}.cc" ; pver= + [ "${ofile}" = main.o ] && pver=" -DPROGVERSION=\"${pkgversion}\"" + compile_command="${CXX} ${CPPFLAGS} ${CXXFLAGS}${pver} -c -o ${ofile}" + echo "${compile_command} ${srcdir}/${file}" + ${compile_command} "${srcdir}/${file}" || exit 1 + done + link_command="${CXX} ${LDFLAGS} ${CXXFLAGS} -o ${progname} ${objs}" + echo "${link_command}" ; ${link_command} || exit 1 + if [ "${check}" = yes ] ; then + "${srcdir}/testsuite/check.sh" "${srcdir}/testsuite" ${pkgversion} || exit 1 + fi + if [ -n "${installdir}" ] ; then + echo "installing ${progname} in ${installdir}" + [ -d "${installdir}" ] || mkdir -p "${installdir}" || exit 1 + cp -fp ${progname} "${installdir}/${progname}" || exit 1 + fi + exit 0 +fi + echo if [ -z "${no_create}" ] ; then echo "creating config.status" @@ -148,7 +178,7 @@ if [ -z "${no_create}" ] ; then # Run this file to recreate the current configuration. # # This script is free software: you have unlimited permission -# to copy, distribute and modify it. +# to copy, distribute, and modify it. exec /bin/sh $0 ${args} --no-create EOF @@ -170,11 +200,11 @@ echo "LDFLAGS = ${LDFLAGS}" rm -f Makefile cat > Makefile << EOF # Makefile for Lzip - LZMA lossless data compressor -# Copyright (C) 2008-2019 Antonio Diaz Diaz. +# Copyright (C) 2008-2021 Antonio Diaz Diaz. # This file was generated automatically by configure. Don't edit. # # This Makefile is free software: you have unlimited permission -# to copy, distribute and modify it. +# to copy, distribute, and modify it. pkgname = ${pkgname} pkgversion = ${pkgversion} |