mirror of
https://github.com/valitydev/thrift.git
synced 2024-11-06 18:35:19 +00:00
THRIFT-770. build: Get 'make dist' to work without first compiling source code
This patch ditches the old print_version.sh method and instead generates the compiler's version.h via the Makefile. Patch: Anthony Molinaro git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940630 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f7d9f8e489
commit
a1e268c54b
@ -24,5 +24,5 @@ SUBDIRS = compiler/cpp lib test
|
||||
dist-hook:
|
||||
find $(distdir) -name '.[a-zA-Z0-9]*' | xargs rm -rf
|
||||
|
||||
EXTRA_DIST = bootstrap.sh cleanup.sh print_version.sh doc tutorial contrib \
|
||||
EXTRA_DIST = bootstrap.sh cleanup.sh doc tutorial contrib \
|
||||
CONTRIBUTORS LICENSE CHANGES DISCLAIMER NOTICE
|
||||
|
@ -118,29 +118,3 @@ clean-local:
|
||||
$(RM) thriftl.cc thrifty.cc thrifty.h version.h
|
||||
|
||||
src/main.cc: version.h
|
||||
|
||||
# Adding this to BUILT_SOURCES will cause version.h to be
|
||||
# regenerated on every "make all" or "make check", which is
|
||||
# necessary because it changes whenever we "svn up" or similar.
|
||||
# Ideally, we would like this to be regenerated whenever the
|
||||
# compiler is rebuilt, but every way we could think of to do
|
||||
# that caused unnecessary rebuilds of the compiler.
|
||||
BUILT_SOURCES += regen_version_h
|
||||
|
||||
THRIFT_VERSION=$(shell /bin/sh $(top_srcdir)/print_version.sh -v)
|
||||
THRIFT_REVISION=$(shell /bin/sh $(top_srcdir)/print_version.sh -r)
|
||||
|
||||
regen_version_h:
|
||||
@printf "Regenerating version.h... "
|
||||
@TMPFILE=`mktemp ./version_h.tmp_XXXXXX` ; \
|
||||
echo "// AUTOGENERATED, DO NOT EDIT" > $$TMPFILE ; \
|
||||
echo '#define THRIFT_VERSION "$(THRIFT_VERSION)"' >> $$TMPFILE ; \
|
||||
echo '#define THRIFT_REVISION "$(THRIFT_REVISION)"' >> $$TMPFILE ; \
|
||||
if cmp $$TMPFILE version.h >/dev/null ; \
|
||||
then \
|
||||
rm -f $$TMPFILE ; \
|
||||
echo "No changes." ; \
|
||||
else \
|
||||
mv $$TMPFILE version.h ; \
|
||||
echo "Updated." ; \
|
||||
fi
|
||||
|
@ -618,7 +618,7 @@ void generate_all_fingerprints(t_program* program) {
|
||||
* Prints the version number
|
||||
*/
|
||||
void version() {
|
||||
printf("Thrift version %s-%s\n", THRIFT_VERSION, THRIFT_REVISION);
|
||||
printf("Thrift version %s\n", THRIFT_VERSION);
|
||||
}
|
||||
|
||||
/**
|
||||
|
1
compiler/cpp/version.h.in
Normal file
1
compiler/cpp/version.h.in
Normal file
@ -0,0 +1 @@
|
||||
#define THRIFT_VERSION "@PACKAGE_VERSION@"
|
@ -253,6 +253,7 @@ AC_CONFIG_HEADERS(config.h:config.hin)
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
compiler/cpp/Makefile
|
||||
compiler/cpp/version.h
|
||||
lib/Makefile
|
||||
lib/cpp/Makefile
|
||||
lib/cpp/thrift.pc
|
||||
|
@ -1,47 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
cd "`dirname "$0"`"
|
||||
|
||||
# Computing both the version and the revision on every invocation is wasteful,
|
||||
# but it is cheap and avoids the use of nonportable shell functions.
|
||||
|
||||
VERSION=`sed -ne 's/^AC_INIT(\[thrift\], \[\(.*\)\])$/\1/p' configure.ac`
|
||||
|
||||
if test -d .svn ; then
|
||||
REVISION="r`svnversion`"
|
||||
elif test -d .git ; then
|
||||
SHA1=`git rev-list --max-count=1 --grep='^git-svn-id:' HEAD`
|
||||
REVISION=`git cat-file commit $SHA1 | sed -ne 's/^git-svn-id:[^@]*@\([0-9][0-9]*\).*/r\1/p'`
|
||||
OFFSET=`git rev-list ^$SHA1 HEAD | wc -l | tr -d ' '`
|
||||
if test $OFFSET != 0 ; then
|
||||
REVISION="$REVISION-$OFFSET-`git rev-parse --verify HEAD | cut -c 1-7`"
|
||||
fi
|
||||
else
|
||||
REVISION="exported"
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
-v) echo $VERSION ;;
|
||||
-r) echo $REVISION ;;
|
||||
-a) echo "$VERSION-$REVISION" ;;
|
||||
*) echo "Usage: $0 -v|-r|-a"; exit 1;;
|
||||
esac
|
@ -28,7 +28,7 @@ SUBDIRS += rb
|
||||
endif
|
||||
|
||||
noinst_LTLIBRARIES = libtestgencpp.la
|
||||
libtestgencpp_la_SOURCES = \
|
||||
nodist_libtestgencpp_la_SOURCES = \
|
||||
gen-cpp/DebugProtoTest_types.cpp \
|
||||
gen-cpp/OptionalRequiredTest_types.cpp \
|
||||
gen-cpp/DebugProtoTest_types.cpp \
|
||||
@ -175,4 +175,7 @@ EXTRA_DIST = \
|
||||
ThriftTest.thrift \
|
||||
ZlibTest.cpp \
|
||||
DenseProtoTest.cpp \
|
||||
FastbinaryTest.py
|
||||
FastbinaryTest.py \
|
||||
ThriftTest_extras.cpp \
|
||||
DebugProtoTest_extras.cpp
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user