From 32da405cbd0ad3b9964c72d07d8fe921f815fb32 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 6 Sep 2011 15:18:26 +0200 Subject: Use AC_PATH_PROG for protoc-c Also move PROTOC_C substution directly into src/protoc-c.sh.in instead of src/Makefile.am --- configure.ac | 12 ++++-------- src/.gitignore | 1 + src/Makefile.am | 5 ++--- src/protoc-c.sh | 13 ------------- src/protoc-c.sh.in | 14 ++++++++++++++ 5 files changed, 21 insertions(+), 24 deletions(-) delete mode 100755 src/protoc-c.sh create mode 100644 src/protoc-c.sh.in diff --git a/configure.ac b/configure.ac index 6aa8568..34d399e 100644 --- a/configure.ac +++ b/configure.ac @@ -13,9 +13,12 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_ARG_VAR([PROTOC_C], [path to protoc-c utility]) + # Check for programs AC_PROG_CC AC_PROG_SED +AC_PATH_PROG([PROTOC_C], [protoc-c], [false]) PKG_PROG_PKG_CONFIG() PKG_CHECK_MODULES(PROTOBUF, [libprotobuf-c],[], [ @@ -36,14 +39,6 @@ do AC_MSG_ERROR([gstreamer element $element not found])) done -PROTOBUF_EXECUTABLE=`pkg-config --variable=exec_prefix libprotobuf-c` -if test "x$PROTOBUF_EXECUTABLE" == "x"; then - PROTOBUF_EXECUTABLE=protoc-c -else - PROTOBUF_EXECUTABLE="${PROTOBUF_EXECUTABLE}/bin/protoc-c" -fi -AC_SUBST([PROTOBUF_EXECUTABLE]) - if test "x$GCC" = "xyes"; then GCC_CFLAGS="-Wall -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden" fi @@ -51,4 +46,5 @@ AC_SUBST([GCC_CFLAGS]) AC_CONFIG_FILES([Makefile src/Makefile]) +AC_CONFIG_FILES([src/protoc-c.sh], [chmod +x src/protoc-c.sh]) AC_OUTPUT diff --git a/src/.gitignore b/src/.gitignore index 40e0689..a4818d0 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1,4 +1,5 @@ messages.h mumble.pb-c.c mumble.pb-c.h +protoc-c.sh cmumble diff --git a/src/Makefile.am b/src/Makefile.am index fe69d24..fb88fc6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -15,12 +15,11 @@ AM_CFLAGS = $(GCC_FLAGS) BUILT_SOURCES = $(nodist_cmumble_SOURCES) $(nodist_noinst_HEADERS) CLEANFILES = $(BUILT_SOURCES) -EXTRA_DIST = mumble.proto messages.txt gen_messages.sed protoc-c.sh +EXTRA_DIST = mumble.proto messages.txt gen_messages.sed messages.h: $(srcdir)/messages.txt $(srcdir)/gen_messages.sed $(AM_V_GEN) LC_ALL=C $(SED) -f $(srcdir)/gen_messages.sed $< > $@ mumble.pb-c.c mumble.pb-c.h: $(srcdir)/mumble.proto - $(AM_V_GEN) PROTOC_C=$(PROTOBUF_EXECUTABLE) \ - $(srcdir)/protoc-c.sh $< $@ + $(AM_V_GEN) $(builddir)/protoc-c.sh $< $@ diff --git a/src/protoc-c.sh b/src/protoc-c.sh deleted file mode 100755 index 4147799..0000000 --- a/src/protoc-c.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -PROTOC_C=${PROTOC_C:-protoc-c} - -build_dir=".protoc-c_build_$(basename $2)/" - -mkdir -p "${build_dir}" -cp $1 "${build_dir}" -cd "${build_dir}" -eval $PROTOC_C --c_out=. $(basename $1) -cd .. -mv "${build_dir}/$(basename $2)" $2 -rm -rf "${build_dir}" diff --git a/src/protoc-c.sh.in b/src/protoc-c.sh.in new file mode 100644 index 0000000..788d743 --- /dev/null +++ b/src/protoc-c.sh.in @@ -0,0 +1,14 @@ +#!/bin/sh +# @configure_input@ + +PROTOC_C=@PROTOC_C@ + +build_dir=".protoc-c_build_$(basename $2)/" + +mkdir -p "${build_dir}" +cp $1 "${build_dir}" +cd "${build_dir}" +eval $PROTOC_C --c_out=. $(basename $1) +cd .. +mv "${build_dir}/$(basename $2)" $2 +rm -rf "${build_dir}" -- cgit