libextractor-mono

GNU libextractor
Log | Files | Refs | LICENSE

configure (3284B)


      1 #!/bin/bash
      2 VERSION=0.1
      3 PACKAGE=libextractor
      4 prefix=/usr/local
      5 config=RELEASE
      6 configurations=" RELEASE DEBUG"
      7 common_packages=""
      8 
      9 
     10 usage ()
     11 {
     12 	echo "Usage : configure [OPTION]... [--config=CONFIG]"
     13 	echo
     14 	echo "Options:"
     15 	echo "  --prefix=PREFIX         install architecture-independent files in PREFIX"
     16 	echo "                          [/usr/local]"
     17 	echo "  --bindir=DIR            user executables [PREFIX/bin]"
     18 	echo "  --datadir=DIR           read-only architecture-independent data [PREFIX/share]"
     19 	echo "  --libdir=DIR            object code libraries [PREFIX/lib]"
     20 	echo
     21 	echo "Configurations available :"
     22 	for c in $configurations; do
     23 		if [ "$c" = "$config" ]; then
     24 			echo "        $c (Default)"
     25 		else
     26 			echo "        $c"
     27 		fi
     28 	done
     29 }
     30 
     31 validate_config ()
     32 {
     33 	test -z "$1" && return 0
     34 	for c in $configurations; do
     35 		if [ "$c" = "$1" ]; then
     36 			return 1
     37 		fi
     38 	done
     39 	return 0
     40 }
     41 
     42 check_package ()
     43 {
     44 	name=`echo $1 | cut -d\; -f1`
     45 	version=`echo $1 | cut -d\; -f2`
     46 
     47 	echo -n "Checking for package '$name'.." | tee -a config.log
     48 	pkg-config --atleast-version=$version $name
     49 	if [ $? -ne 0 ]; then
     50 		echo " ERROR: Package named '$name' >= $version not found." | tee -a config.log
     51 		echo "Try adjusting your PKG_CONFIG_PATH environment variable." | tee -a config.log
     52 		return 1
     53 	fi
     54 	echo " found." | tee -a config.log
     55 }
     56 
     57 check_required_packages ()
     58 {
     59 	echo "Looking for required packages" | tee config.log
     60 	var=required_packages_$config
     61 	for pkg in $common_packages ${!var}; do
     62 		check_package $pkg
     63 		retval=$?
     64 		[ $retval -ne 0 ] && return $retval
     65 	done
     66 	return 0
     67 }
     68 
     69 while test x$1 != x; do
     70 		case $1 in
     71 		--prefix=*)
     72 				prefix=`echo $1 | sed 's/--prefix=//'`
     73 				;;
     74 		--prefix)
     75 				shift
     76 				prefix=$1
     77 				;;
     78 		--libdir=*)
     79 				libdir=`echo $1 | sed 's/--libdir=//'`
     80 				;;
     81 		--libdir)
     82 				shift
     83 				libdir=$1
     84 				;;
     85 		--bindir=*)
     86 				bindir=`echo $1 | sed 's/--bindir=//'`
     87 				;;
     88 		--bindir)
     89 				shift
     90 				bindir=$1
     91 				;;
     92 		--datadir=*)
     93 				datadir=`echo $1 | sed 's/--datadir=//'`
     94 				;;
     95 		--datadir)
     96 				shift
     97 				datadir=$1
     98 				;;
     99 		--config=*)
    100 				conf=`echo $1 | sed 's/--config=//'`
    101 				validate_config "$conf"
    102 				if [ $? -eq 1 ]; then
    103 					config=$conf
    104 				else
    105 					echo "Invalid config name - $conf"
    106 					usage
    107 					exit 1
    108 				fi
    109                 ;;
    110 		--help)
    111 			usage
    112 			exit
    113 			;;
    114 		*)
    115 			echo Unknown argument $1 >&2
    116 			usage
    117 			exit 1
    118 			;;
    119 		esac
    120 		shift
    121 done
    122 
    123 check_required_packages
    124 [ $? -eq 1 ] && exit 1
    125 
    126 if [ -z "$libdir" ]; then
    127 	libdir=$prefix/lib
    128 fi
    129 if [ -z "$bindir" ]; then
    130 	bindir=$prefix/bin
    131 fi
    132 if [ -z "$datadir" ]; then
    133 	datadir=$prefix/share
    134 fi
    135 
    136 echo "prefix=$prefix" > config.make
    137 echo "libdir=$libdir" >> config.make
    138 echo "bindir=$bindir" >> config.make
    139 echo "datadir=$datadir" >> config.make
    140 echo "RUNTIME=mono" >> config.make
    141 echo "ASSEMBLY_VERSION=$VERSION.0.0" >> config.make
    142 echo "VERSION=$VERSION" >> config.make
    143 echo "PACKAGE=$PACKAGE" >> config.make
    144 echo "CONFIG=$config" >> config.make
    145 
    146 echo
    147 echo "$PACKAGE has been configured with "
    148 echo "        prefix = $prefix"
    149 if [ "$libdir" != "$prefix/lib" ]; then
    150 	echo "        libdir = $libdir"
    151 fi
    152 if [ "$bindir" != "$prefix/bin" ]; then
    153 	echo "        bindir = $bindir"
    154 fi
    155 if [ "$datadir" != "$prefix/share" ]; then
    156 	echo "        datadir = $datadir"
    157 fi
    158 echo "        config = $config"
    159 echo