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