waf

FORK: waf with some random patches
git clone https://git.neptards.moe/neptards/waf.git
Log | Files | Refs | README

configure (1881B)


      1 #! /bin/sh
      2 
      3 # waf configure wrapper
      4 
      5 # Fancy colors used to beautify the output a bit.
      6 #
      7 if [ "$NOCOLOR" ] ; then
      8     NORMAL=""
      9     BOLD=""
     10     RED=""
     11     YELLOW=""
     12     GREEN=""
     13 else
     14     NORMAL='\033[0m'
     15     BOLD='\033[01;1m'
     16     RED='\033[01;91m'
     17     YELLOW='\033[00;33m'
     18     GREEN='\033[01;92m'
     19 fi
     20 
     21 EXIT_SUCCESS=0
     22 EXIT_FAILURE=1
     23 EXIT_ERROR=2
     24 EXIT_BUG=10
     25 
     26 CUR_DIR=$PWD
     27 
     28 #possible relative path
     29 WORKINGDIR=`dirname $0`
     30 cd $WORKINGDIR
     31 #abs path
     32 WORKINGDIR=`pwd`
     33 cd $CUR_DIR
     34 
     35 
     36 # Checks for WAF. Honours $WAF if set. Stores path to 'waf' in $WAF.
     37 # Requires that $PYTHON is set.
     38 #
     39 checkWAF()
     40 {
     41 	printf "Checking for WAF\t\t\t:  "
     42 	#installed miniwaf in sourcedir
     43 	if [ -z "$WAF" ] ; then
     44 	    if [ -f "${WORKINGDIR}/waf" ] ; then
     45 		WAF="${WORKINGDIR}/waf"
     46 		if [ ! -x "$WAF" ] ; then
     47 		    chmod +x $WAF
     48 		fi
     49 	    fi
     50 	fi
     51 	if [ -z "$WAF" ] ; then
     52 	    if [ -f "${WORKINGDIR}/waf-light" ] ; then
     53 		${WORKINGDIR}/waf-light --make-waf
     54 	        WAF="${WORKINGDIR}/waf"
     55 	    fi
     56 	fi
     57 	#global installed waf with waf->waf.py link
     58 	if [ -z "$WAF" ] ; then
     59 	    WAF=`which waf 2>/dev/null`
     60 	fi
     61 	# neither waf nor miniwaf could be found
     62 	if [ ! -x "$WAF" ] ; then
     63 	    printf "$RED""not found""$NORMAL""\n"
     64 	    echo "Go to https://waf.io/"
     65 	    echo "and download a waf version"
     66 	    exit $EXIT_FAILURE
     67 	else
     68 	  printf "$GREEN""$WAF""$NORMAL""\n"
     69 	fi
     70 }
     71 
     72 # Generates a Makefile. Requires that $WAF is set.
     73 #
     74 generateMakefile()
     75 {
     76 	cat > Makefile << EOF
     77 #!/usr/bin/make -f
     78 # Waf Makefile wrapper
     79 WAF_HOME=$CUR_DIR
     80 
     81 all:
     82 #@$WAF build
     83 
     84 all-debug:
     85 	@$WAF -v build
     86 
     87 all-progress:
     88 	@$WAF -p build
     89 
     90 install:
     91 	$WAF install --yes;
     92 
     93 uninstall:
     94 	$WAF uninstall
     95 
     96 clean:
     97 	@$WAF clean
     98 
     99 distclean:
    100 	@$WAF distclean
    101 	@-rm -rf build
    102 	@-rm -f Makefile
    103 
    104 check:
    105 	@$WAF check
    106 
    107 dist:
    108 	@$WAF dist
    109 
    110 .PHONY: clean dist distclean check uninstall install all
    111 
    112 EOF
    113 }
    114 
    115 checkWAF
    116 generateMakefile
    117 
    118 "${WAF}" configure $*
    119 exit $?