@@ -11,23 +11,54 @@ if [ -z "$PHPENV_ROOT" ]; then
1111 PHPENV_ROOT=" ${HOME} /.phpenv"
1212fi
1313
14- DEFINITION=" $1 "
15- case " $DEFINITION " in
16- " " | -* )
17- { echo " usage: phpenv install VERSION"
18- echo " phpenv install /path/to/definition"
14+ # Load shared library functions
15+ eval " $( php-build --lib) " && lib
16+
17+ usage () {
18+ { echo " usage: phpenv install [-k|--keep] [-v|--verbose] VERSION"
19+ echo " phpenv install [-k|--keep] [-v|--verbose] /path/to/definition"
20+ echo " phpenv install -l|--list"
1921 echo
20- echo " Available versions:"
21- php-build --definitions | sed ' s/^/ /'
22+ echo " -l/--list List all available versions"
23+ echo " -k/--keep Keep source tree in \$ PHPENV_BUILD_ROOT after installation"
24+ echo " (defaults to ${PHPENV_ROOT} /sources)"
25+ echo " -v/--verbose Verbose mode: print compilation status to stdout"
2226 echo
2327 } >&2
24- exit 1
25- ;;
26- " -k" | " --keep" )
27- [ -z " ${PHPENV_BUILD_ROOT} " ] && PHPENV_BUILD_ROOT=" ${PHPENV_ROOT} /sources"
28- PHP_BUILD_OPTIONS=" ${PHP_BUILD_OPTIONS} -k"
29- ;;
30- esac
28+ [ -z " $1 " ] || exit " $1 "
29+ }
30+
31+ unset KEEP
32+ unset VERBOSE
33+
34+ parse_options " $@ "
35+ for option in " ${OPTIONS[@]} " ; do
36+ case " $option " in
37+ " h" | " help" )
38+ usage 0
39+ ;;
40+ " l" | " list" )
41+ echo " Available versions:"
42+ php-build --definitions | sed ' s/^/ /'
43+ exit
44+ ;;
45+ " k" | " keep" )
46+ [ -n " ${PHPENV_BUILD_ROOT} " ] || PHPENV_BUILD_ROOT=" ${PHPENV_ROOT} /sources"
47+ ;;
48+ " v" | " verbose" )
49+ VERBOSE=" -v"
50+ ;;
51+ " version" )
52+ exec php-build --version
53+ ;;
54+ * )
55+ usage 1
56+ ;;
57+ esac
58+ done
59+
60+ DEFINITION=" ${ARGUMENTS[0]} "
61+ [ -n " $DEFINITION " ] || usage 1
3162
3263VERSION_NAME=" ${DEFINITION##*/ } "
3364PREFIX=" ${PHPENV_ROOT} /versions/${VERSION_NAME} "
@@ -36,8 +67,8 @@ PREFIX="${PHPENV_ROOT}/versions/${VERSION_NAME}"
3667# php-build
3768if [ -n " ${PHPENV_BUILD_ROOT} " ]; then
3869 export PHP_BUILD_BUILD_PATH=" ${PHPENV_BUILD_ROOT} /${VERSION_NAME} "
39- PHP_BUILD_OPTIONS= " ${PHP_BUILD_OPTIONS} -k"
70+ KEEP= " -k"
4071fi
4172
42- php-build " $DEFINITION " " $PREFIX " " $PHP_BUILD_OPTIONS "
73+ php-build $KEEP $VERBOSE " $DEFINITION " " $PREFIX "
4374phpenv rehash
0 commit comments