summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xconfigure58
1 files changed, 44 insertions, 14 deletions
diff --git a/configure b/configure
index f3249ad..0cacd6e 100755
--- a/configure
+++ b/configure
@@ -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}