diff options
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Scripts/functions.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Mk/Scripts/functions.sh b/Mk/Scripts/functions.sh index 3aeb9fbce1fe..701397e4d58d 100644 --- a/Mk/Scripts/functions.sh +++ b/Mk/Scripts/functions.sh @@ -158,3 +158,54 @@ validate_env() { exit 1 fi } + +export_index_env() { + local export_vars make_cmd make_env var results value + + validate_env MAKE PORTSDIR + + make_env="\ + PACKAGE_BUILDING=1 \ + GNU_CONFIGURE=1 \ + USE_JAVA=1 \ + USE_LINUX=1 \ + " + + make_cmd="${make_env}" + + export_vars="\ + ARCH \ + CONFIGURE_MAX_CMD_LEN \ + HAVE_COMPAT_IA32_KERN \ + LINUX_OSRELEASE \ + OPSYS \ + OSREL \ + OSVERSION \ + UID \ + _JAVA_OS_LIST_REGEXP \ + _JAVA_PORTS_INSTALLED \ + _JAVA_VENDOR_LIST_REGEXP \ + _JAVA_VERSION_LIST_REGEXP \ + _OSRELEASE \ + _PKG_CHECKED \ + _SMP_CPUS \ + " + + for var in ${export_vars}; do + make_cmd="${make_cmd}${make_cmd:+ }-V ${var}=\${${var}}" + done + + # Bring in all the vars, but not empty ones. + eval $(${MAKE} -f ${PORTSDIR}/Mk/bsd.port.mk ${make_cmd} | grep -v '=$') + for var in ${export_vars}; do + # Export and display non-empty ones. This is not redundant + # with above since we're looping on all vars here; do not + # export a var we didn't eval in. + value="$(eval echo \$${var})" + + if [ -n "${value}" ]; then + export ${var} + echo "export ${var}=${value}" + fi + done +} |