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