Commit d18c5464 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

maketgz: make it support "only" generating version info

... to allow you to update the local repository with the given version
number data.
parent aec0c993
Loading
Loading
Loading
Loading
+33 −7
Original line number Original line Diff line number Diff line
@@ -31,6 +31,11 @@ if [ -z "$version" ]; then
  exit
  exit
fi
fi


if [ "xonly" = "x$2" ]; then
    echo "Setup version number only!"
    only=1
fi

libversion="$version"
libversion="$version"


# we make curl the same version as libcurl
# we make curl the same version as libcurl
@@ -40,25 +45,50 @@ major=`echo $libversion |cut -d. -f1 | sed -e "s/[^0-9]//g"`
minor=`echo $libversion |cut -d. -f2 | sed -e "s/[^0-9]//g"`
minor=`echo $libversion |cut -d. -f2 | sed -e "s/[^0-9]//g"`
patch=`echo $libversion |cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
patch=`echo $libversion |cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`


if test -z "$patch"; then
    echo "invalid version number? needs to be z.y.z"
    exit
fi

numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`
numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`


HEADER=include/curl/curlver.h
HEADER=include/curl/curlver.h
CHEADER=src/tool_version.h
CHEADER=src/tool_version.h
PLIST=lib/libcurl.plist

if test -z "$only"; then
    ext=".dist"
    # when not setting up version numbers locally
    for a in $HEADER $CHEADER $PLIST; do
        cp $a "$a$ext"
    done
    HEADER="$HEADER$ext"
    CHEADER="$CHEADER$ext"
    PLIST="$PLIST$ext"
fi


# requires a date command that knows -u for UTC time zone
# requires a date command that knows -u for UTC time zone
datestamp=`LC_TIME=C date -u`
datestamp=`LC_TIME=C date -u`


# Replace version number in header file:
# Replace version number in header file:
sed -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
sed -i -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
    -e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
    -e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
    -e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
    -e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
    -e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
    -e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
    -e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
    -e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
    -e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
    -e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
 $HEADER >$HEADER.dist
 $HEADER


# Replace version number in header file:
# Replace version number in header file:
sed 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER >$CHEADER.dist
sed -i 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER

# Replace version number in plist file:
sed -i "s/7\.12\.3/$libversion/g" $PLIST

if test -n "$only"; then
    # done!
    exit;
fi


# Generate VC7, VC8, VC9, VC10, VC11, VC12 and VC14 versions from the VC6
# Generate VC7, VC8, VC9, VC10, VC11, VC12 and VC14 versions from the VC6
# Makefile versions
# Makefile versions
@@ -68,10 +98,6 @@ for ver in vc7 vc8 vc9 vc10 vc11 vc12 vc14; do
  mv lib/Makefile.$ver lib/Makefile.$ver.dist
  mv lib/Makefile.$ver lib/Makefile.$ver.dist
done
done


# Replace version number in plist file:
PLIST=lib/libcurl.plist
sed "s/7\.12\.3/$libversion/g" $PLIST > $PLIST.dist

echo "curl version $curlversion"
echo "curl version $curlversion"
echo "libcurl version $libversion"
echo "libcurl version $libversion"
echo "libcurl numerical $numeric"
echo "libcurl numerical $numeric"