- Add tagging for Objective-C and Objective-C++, OBJC and OBJCXX.
+ - Increase 5 digit limit on revision value for libraries to 19 digits,
+ which is referencing Unix epoch time in nanoseconds.
+
** Bug fixes:
- Fix wrongly deduplicated compiler dependencies on linux.
esac
# Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "CURRENT '$current' must be a nonnegative integer"
+ if echo "$current" | $EGREP -v '(^0$)|(^[1-9]$)|(^[1-9][0-9]{1,4}$)' > /dev/null; then
+ func_error "CURRENT '$current' must be a nonnegative integer and <= 5 digits"
func_fatal_error "'$vinfo' is not valid version information"
- ;;
- esac
+ fi
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "REVISION '$revision' must be a nonnegative integer"
+ # Currently limiting revision length by Unix epoch time in nanoseconds.
+ if echo "$revision" | $EGREP -v '(^0$)|(^[1-9]$)|(^[1-9][0-9]{1,18}$)' > /dev/null; then
+ func_error "REVISION '$revision' must be a nonnegative integer and <= 19 digits"
func_fatal_error "'$vinfo' is not valid version information"
- ;;
- esac
+ fi
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "AGE '$age' must be a nonnegative integer"
+ if echo "$age" | $EGREP -v '(^0$)|(^[1-9]$)|(^[1-9][0-9]{1,4}$)' > /dev/null; then
+ func_error "AGE '$age' must be a nonnegative integer and <= 5 digits"
func_fatal_error "'$vinfo' is not valid version information"
- ;;
- esac
+ fi
if test "$age" -gt "$current"; then
func_error "AGE '$age' is greater than the current interface number '$current'"
# and large ones.
# TODO: check something like 1001:2419:189 after fixing issues
# for 'version_type's of 'irix', 'nonstopux', or 'osf'.
-for version_info in 1 1:2 0:0:0 1:1:1 13:241:7; do
+for version_info in 1 1:2 0:0:0 1:1:1 13:241:7 55555:1234567890123456789:55555; do
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
[-version-info $version_info -rpath $libdir], [], [ignore], [ignore])
done
AT_CHECK([$GREP 'AGE.*is greater than' stderr], [], [ignore])
# Hypothesis: we diagnose invalid values.
-for version_info in 1:2:3:4 -1 0:-1 0:0:-1; do
+for version_info in 1:2:3:4 -1 0:-1 0:0:-1 666666:1:1 1:1:666666 0:12345678901234567890:0; do
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo ]dnl
[-version-info $version_info -rpath $libdir], [1], [ignore], [ignore])
done