diff --git a/build.sh b/build.sh
index fe13c91..8992c5a 100755
--- a/build.sh
+++ b/build.sh
@@ -213,7 +213,7 @@ for BUILD_TARGET_LC in $(bp_subst_tgts ${BUILD_TARGETS_META}); do
 		done;
 		parse_with_pkg_name ${BUILD_PACKAGE_LC%.*};
 		for __ in all disabled fetch extract build_dir patch_pre autoconf patch		\
-				setup distclean configure clean build install; do
+				setup_env distclean configure clean build install; do
 			case ${__} in
 			all)
 				if test_cmd pkg_${PKG_NAME}_all; then
diff --git a/subr/pkg_setup.subr b/subr/pkg_setup.subr
deleted file mode 100644
index 0ee60bb..0000000
--- a/subr/pkg_setup.subr
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-# See warning at the top of build.vars.
-#
-
-pkg_setup() {
-	PKG_SUBDIR_PATH=${PWD}/${PKG_SUBDIR#/};
-	if [ -z "${PKG_CONFIGURE}" ]; then
-		PKG_CONFIGURE=${PKG_SUBDIR_PATH}/configure;
-	else
-		PKG_CONFIGURE=${PWD}/${PKG_CONFIGURE#/};
-	fi;
-	if [ "${PKG_BUILD_TYPE}" = "host" ]; then
-		export AR=ar;
-		export CC=gcc;
-		export CXX=g++;
-		export RANLIB=ranlib;
-	else
-		export AR=${PKG_TARGET}-ar;
-		export CC=${PKG_TARGET}-gcc;
-		export CXX=${PKG_TARGET}-g++;
-		export RANLIB=${PKG_TARGET}-ranlib;
-	fi;
-	if [ -x ${PKG_CONFIGURE} ]; then
-		export CFLAGS_FOR_BUILD="${HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}";
-	else
-		__no_autoconf=1;
-	fi;
-	if [ "${PKG_SLIBTOOL}" != "default" ]; then
-		export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}";
-	fi;
-	cd ${PKG_BUILD_DIR};
-	set_build_script_done setup distclean -configure;
-};
-
-# vim:filetype=sh
diff --git a/subr/pkg_setup_env.subr b/subr/pkg_setup_env.subr
new file mode 100644
index 0000000..de30432
--- /dev/null
+++ b/subr/pkg_setup_env.subr
@@ -0,0 +1,36 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+# See warning at the top of build.vars.
+#
+
+pkg_setup_env() {
+	PKG_SUBDIR_PATH=${PWD}/${PKG_SUBDIR#/};
+	if [ -z "${PKG_CONFIGURE}" ]; then
+		PKG_CONFIGURE=${PKG_SUBDIR_PATH}/configure;
+	else
+		PKG_CONFIGURE=${PWD}/${PKG_CONFIGURE#/};
+	fi;
+	if [ "${PKG_BUILD_TYPE}" = "host" ]; then
+		export AR=ar;
+		export CC=gcc;
+		export CXX=g++;
+		export RANLIB=ranlib;
+	else
+		export AR=${PKG_TARGET}-ar;
+		export CC=${PKG_TARGET}-gcc;
+		export CXX=${PKG_TARGET}-g++;
+		export RANLIB=${PKG_TARGET}-ranlib;
+	fi;
+	if [ -x ${PKG_CONFIGURE} ]; then
+		export CFLAGS_FOR_BUILD="${HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}";
+	else
+		__no_autoconf=1;
+	fi;
+	if [ "${PKG_SLIBTOOL}" != "default" ]; then
+		export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}";
+	fi;
+	cd ${PKG_BUILD_DIR};
+	set_build_script_done setup distclean -configure;
+};
+
+# vim:filetype=sh