anastasis

Credential backup and recovery protocol and service
Log | Files | Refs | Submodules | README | LICENSE

configure (7488B)


      1 #!/bin/sh
      2 
      3 pkg_name="anastasis"
      4 # Features in pkg_optional_features default to OFF, those in
      5 # pkg_default_features to ON; hardening therefore belongs in the latter, and is
      6 # turned off with --disable-hardening.
      7 pkg_default_features="hardening"
      8 pkg_optional_features="coverage logging only-doc install-rpath"
      9 pkg_optional_dependencies=""
     10 
     11 # DO NOT EDIT BELOW THIS LINE
     12 standard_dirs="prefix exec_prefix bindir sbindir libexecdir sysconfdir sharedstatedir localstatedir runstatedir libdir includedir oldincludedir datarootdir datadir infodir localedir mandir docdir htmldir dvidir pdfdir psdir srcdir mesonbuilddir"
     13 standard_utils="AR AS BISON CC CXX CPP FLEX INSTALL LD LDCONFIG LEX MAKE MAKEINFO RANLIB TEXI2DVI YACC CHGRP CHMOD CHOWN MKNOD RM NINJA MESON"
     14 standard_flags="ARFLAGS BISONFLAGS CFLAGS CXXFLAGS CPPFLAGS FLEXFLAGS INSTALLFLAGS LDFLAGS LDCONFIGFLAGS LFLAGS MAKEFLAGS MAKEINFOFLAGS RANLIBFLAGS TEXI2DVIFLAGS YACCFLAGS CHGRPFLAGS CHMODFLAGS CHOWNFLAGS MKNODFLAGS"
     15 standard_vars="INSTALL_DATA INSTALL_PROGRAM INSTALL_SCRIPT"
     16 generated_comment="# This file was generated by configure. DO NOT edit it directly."
     17 
     18 # Save arguments
     19 cat > config.status <<EOF
     20 #!/bin/sh
     21 $generated_comment
     22 $0 $*
     23 EOF
     24 chmod 755 config.status
     25 
     26 # Parse arguments
     27 oldifs="$IFS"
     28 while [ "$#" -gt "0" ]; do
     29 	arg="$1"
     30 	shift
     31 	argsave="$@"
     32 
     33 	IFS="="
     34 	set -- $arg
     35 	IFS="$oldifs"
     36 	arg="$1"
     37 	shift
     38 	argparam="$@"
     39 
     40 	case "$arg" in
     41 		--help|-h)
     42 			cat <<-EOF
     43 			Usage: $0 [options...]
     44 			General options:
     45 
     46 			<variable>=<value>       Overrides default utils and flags, e.g. CC=gcc
     47 			EOF
     48       echo ""
     49       echo "Directory variables:"
     50 			for sdir in $standard_dirs; do
     51 				echo "--$sdir=<directory>"
     52 			done
     53       echo ""
     54       echo "Options specific to $pkg_name:"
     55 			for feat in $pkg_optional_features; do
     56 				echo "--enable-$feat[=arg]"
     57 			done
     58 			for feat in $pkg_default_features; do
     59 				echo "--disable-$feat"
     60 			done
     61 			for dep in $pkg_optional_dependencies; do
     62 				echo "--with-$dep"
     63 			done
     64 
     65 			echo
     66 			echo Other options will be ignored. Please see the README for additional information.
     67 			exit 0
     68 			;;
     69 		--enable-*)
     70 			for feat in $pkg_optional_features $pkg_default_features; do
     71         ft=$(echo $feat | tr - _)
     72 				if [ "--enable-$feat" = "$arg" ] && [ -z "$argparam" ]; then
     73 					eval "enable_$ft=true"
     74 				elif [ "--enable-$feat" = "$arg" ]; then
     75           if [ "$argparam" = "yes" ]; then
     76 					  eval "enable_$ft=\"true\""
     77           else
     78 					  eval "enable_$ft=\"$argparam\""
     79           fi
     80 				fi
     81 			done
     82 			;;
     83 		--disable-*)
     84 			argsave="--enable-${arg#--disable-}=false $argsave"
     85 			;;
     86 		--with-*)
     87 			for dep in $pkg_optional_dependencies; do
     88 				if [ "--with-$dep" = "$arg" ] && [ -z "$argparam" ]; then
     89 					eval "with_$dep=yes"
     90 				elif [ "--with-$dep" = "$arg" ]; then
     91 					eval "with_$dep=\"$argparam\""
     92 				fi
     93 			done
     94 			;;
     95 		--without-*)
     96 			argsave="--with-${arg#--without-}=no $argsave"
     97 			;;
     98 		--*)
     99 			for dir in $standard_dirs; do
    100 				[ "--$dir" = "$arg" ] && eval "var_$dir=\"$argparam\""
    101 			done
    102 			;;
    103 		*)
    104 			for flag in $standard_utils $standard_flags $standard_vars; do
    105 				[ "$flag" = "$arg" ] && eval "$flag=\"$argparam\""
    106 			done
    107 			for flag in $standard_flags $standard_utils; do
    108 				[ "$flag" = "$arg" ] && eval export "$flag"
    109 			done
    110 			;;
    111 	esac
    112 
    113 	set -- $argsave
    114 done
    115 
    116 # Set default values
    117 for util in $standard_utils; do
    118 	case "$util" in
    119 		CPP) eval "$util=\"\${${util}:-\\\$(CC) -E}\"" ;;
    120 		CXX) eval "$util=\"\${${util}:-g++}\"" ;;
    121 		RM)  eval "$util=\"\${${util}:-rm -f}\"" ;;
    122 		MESON)  eval "$util=\"\${${util}:-meson}\"" ;;
    123 		NINJA)  eval "$util=\"\${${util}:-ninja}\"" ;;
    124 		*)   eval "$util=\"\${${util}:-${util}}\"" ;;
    125 	esac
    126 done
    127 for feat in $pkg_optional_features; do
    128   ft=$(echo $feat | tr - _)
    129 	eval "enable_$ft=\${enable_$ft:-false}"
    130 done
    131 for feat in $pkg_default_features; do
    132 	eval "enable_$feat=\${enable_$feat:-true}"
    133 done
    134 for feat in $pkg_optional_dependencies; do
    135 	eval "with_$feat=\${with_$feat:-no}"
    136 done
    137 
    138 # Find source files
    139 if [ -z "$var_srcdir" ]; then
    140 	[ -f ../Makefile.in ] && var_srcdir=..
    141 	[ -f ./Makefile.in ]  && var_srcdir=.
    142 fi
    143 if [ -z "$var_srcdir" ]; then
    144 	echo "Source files not found. Please specify a directory using --srcdir=..." >&2
    145 	exit 1
    146 fi
    147 
    148 # Write Makefile
    149 cat > Makefile <<EOF
    150 $generated_comment
    151 SHELL = /bin/sh
    152 VPATH = ${var_srcdir}
    153 
    154 mesonbuilddir = ${var_mesonbuilddir:-build}
    155 srcdir = ${var_srcdir}
    156 prefix = ${var_prefix:-/usr/local}
    157 exec_prefix = ${var_exec_prefix:-\$(prefix)}
    158 bindir = ${var_bindir:-\$(exec_prefix)/bin}
    159 sbindir = ${var_sbindir:-\$(exec_prefix)/sbin}
    160 libexecdir = ${var_libexecdir:-\$(exec_prefix)/libexec}
    161 datarootdir = ${var_datarootdir:-\$(prefix)/share}
    162 datadir = ${var_datadir:-\$(datarootdir)}
    163 sysconfdir = ${var_sysconfdir:-\$(prefix)/etc}
    164 sharedstatedir = ${var_sharedstatedir:-\$(prefix)/com}
    165 localstatedir = ${var_localstatedir:-\$(prefix)/var}
    166 runstatedir = ${var_runstatedir:-\$(localstatedir)/run}
    167 includedir = ${var_includedir:-\$(prefix)/include}
    168 oldincludedir = ${var_oldincludedir:-/usr/include}
    169 docdir = ${var_docdir:-\$(datarootdir)/doc/"$pkg_name"}
    170 infodir = ${var_infodir:-\$(datarootdir)/info}
    171 htmldir = ${var_htmldir:-\$(docdir)}
    172 dvidir = ${var_dvidir:-\$(docdir)}
    173 pdfdir = ${var_pdfdir:-\$(docdir)}
    174 psdir = ${var_psdir:-\$(docdir)}
    175 libdir = ${var_libdir:-\$(exec_prefix)/lib}
    176 lispdir = ${var_lispdir:-\$(datarootdir)/emacs/site-lisp}
    177 localedir = ${var_localedir:-\$(datarootdir)/locale}
    178 mandir = ${var_mandir:-\$(datarootdir)/man}
    179 manext = .1
    180 EOF
    181 
    182 if [ -d ${var_mesonbuilddir:-build} ]; then
    183   echo "${var_mesonbuilddir:-build} already exists, deleting with"
    184   $RM -r ${var_mesonbuilddir:-build} || exit 1
    185 fi
    186 
    187 for var in $standard_utils $standard_flags $standard_vars; do
    188 	eval "echo \"${var} = \$${var}\" >> Makefile"
    189 done
    190 echo >> Makefile
    191 
    192 mesonfeatopts=""
    193 for feat in $pkg_optional_features $pkg_default_features; do
    194   ft=$(echo $feat | tr - _)
    195 	eval "echo \"enable_$ft=\${enable_$ft}\" >> Makefile"
    196   if [ "coverage" = $feat ]; then
    197     mfeat="b_$feat"
    198   else
    199     mfeat=$feat
    200   fi
    201   eval "mesonfeatopts=\"$mesonfeatopts -D$mfeat=\${enable_$ft}\""
    202 done
    203 for dep in $pkg_optional_dependencies; do
    204 	eval "echo \"with_$dep=\${with_$dep}\" >> Makefile"
    205 done
    206 echo >> Makefile
    207 
    208 cat "${var_srcdir}/Makefile.in" >> Makefile
    209 
    210 # Create default targets, if not already present
    211 default_target() {
    212 	grep "^$1:" Makefile >/dev/null && return
    213 	echo ".PHONY: $1" >> Makefile
    214 	echo "$1: $2" >> Makefile
    215 	cat >> Makefile
    216 	echo >> Makefile
    217 }
    218 
    219 #default_target Makefile <<EOF
    220 #	./config.status
    221 #EOF
    222 for format in html dvi pdf ps; do
    223 	default_target "$format" </dev/null
    224 	default_target "install-$format" "$format" </dev/null
    225 done
    226 default_target check </dev/null
    227 default_target mostlyclean clean </dev/null
    228 default_target distclean clean <<EOF
    229 	\$(RM) Makefile config.status
    230 EOF
    231 default_target maintainer-clean distclean </dev/null
    232 default_target install-strip <<EOF
    233 	\$(MAKE) INSTALL_PROGRAM='\$(INSTALL_PROGRAM) -s' \\
    234 		INSTALL_SCRIPT='\$(INSTALL_SCRIPT)' install
    235 EOF
    236 
    237 mesondiropts=""
    238 for dr in $standard_dirs; do
    239   if [ $dr = "srcdir" ]; then
    240     continue
    241   fi
    242   if [ $dr = "mesonbuilddir" ]; then
    243     continue
    244   fi
    245   eval "vn=\${var_$dr}"
    246   if [ ! -z $vn ]; then
    247     eval "mesondiropts=\"$mesondiropts -D$dr=\${var_$dr}\""
    248   fi
    249 done
    250 
    251 ${MESON} setup \
    252 	-Ddefault_library=shared \
    253   $mesondiropts \
    254   $mesonfeatopts \
    255 	${var_mesonbuilddir:-build} \
    256 	${var_srcdir} || exit 1
    257 
    258 # Done
    259 echo "Package $pkg_name configured successfully."
    260 echo "Run 'make' to build and 'make install' to install the package"
    261