config-uname.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. config_os=$1
  3. config_release=$2
  4. uname_machine=$3
  5. uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
  6. if test $uname_sysname != $config_os; then
  7. config_release=`echo $config_os | sed s/$uname_sysname//`
  8. fi
  9. if test -r /vmunix; then
  10. kernel_id=`strings /vmunix | grep UNIX`
  11. elif test -r /dynix; then
  12. kernel_id=`strings /dynix | grep DYNIX`
  13. else
  14. kernel_id=
  15. fi
  16. kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
  17. if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
  18. != x$config_release; then
  19. # The configuration release is a substring of the kernel release.
  20. uname_release=$kernel_release
  21. elif test x$config_release != x; then
  22. uname_release=$config_release
  23. elif test x$kernel_release != x; then
  24. uname_release=$kernel_release
  25. else
  26. uname_release=unknown
  27. fi
  28. kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
  29. if test -n "$kernel_version"; then
  30. uname_version="$kernel_version"
  31. else
  32. uname_version=unknown
  33. fi
  34. cat <<EOF
  35. /* This file is generated by $0. DO NOT EDIT.
  36. This is used only by the generic uname function for systems with no real
  37. uname call. If this data is not correct, it does not matter much. */
  38. #define UNAME_SYSNAME "$uname_sysname"
  39. #define UNAME_RELEASE "$uname_release"
  40. #define UNAME_VERSION "$uname_version"
  41. #define UNAME_MACHINE "$uname_machine"
  42. EOF