aboutsummaryrefslogtreecommitdiffstats
path: root/build/autogen.sh
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2016-05-11 10:10:11 +0000
committerMartin Matuska <mm@FreeBSD.org>2016-05-11 10:10:11 +0000
commit8c8f03ca5b7f1f0d07c23e7c354a45b7c95335f0 (patch)
tree6dbaec0a9141562742e447716c2fed6e53d97c6d /build/autogen.sh
parent43341e7cf4b9eee3ead77da04edc14370fe5b166 (diff)
downloadsrc-8c8f03ca5b7f1f0d07c23e7c354a45b7c95335f0.tar.gz
src-8c8f03ca5b7f1f0d07c23e7c354a45b7c95335f0.zip
Keep full libarchive distribution in vendor branch (prep for 3.2.0 update)
Notes
Notes: svn path=/vendor/libarchive/dist/; revision=299422
Diffstat (limited to 'build/autogen.sh')
-rwxr-xr-xbuild/autogen.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/build/autogen.sh b/build/autogen.sh
new file mode 100755
index 000000000000..e73162465d2a
--- /dev/null
+++ b/build/autogen.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+PATH=/usr/local/gnu-autotools/bin/:$PATH
+export PATH
+
+# Start from one level above the build directory
+if [ -f version ]; then
+ cd ..
+fi
+
+if [ \! -f build/version ]; then
+ echo "Can't find source directory"
+ exit 1
+fi
+
+# BSD make's "OBJDIR" support freaks out the automake-generated
+# Makefile. Effectively disable it.
+export MAKEOBJDIRPREFIX=/junk
+
+# Start from the build directory, where the version file is located
+if [ -f build/version ]; then
+ cd build
+fi
+
+if [ \! -f version ]; then
+ echo "Can't find version file"
+ exit 1
+fi
+
+# Update the build number in the 'version' file.
+# Separate number from additional alpha/beta/etc marker
+MARKER=`cat version | sed 's/[0-9.]//g'`
+# Bump the number
+VN=`cat version | sed 's/[^0-9.]//g'`
+# Build out the string.
+VS="$(($VN/1000000)).$(( ($VN/1000)%1000 )).$(( $VN%1000 ))$MARKER"
+
+cd ..
+
+# Clean up the source dir as much as we can.
+/bin/sh build/clean.sh
+
+# Substitute the versions into Libarchive's archive.h and archive_entry.h
+perl -p -i -e "s/^(#define\tARCHIVE_VERSION_NUMBER).*/\$1 $VN/" libarchive/archive.h
+perl -p -i -e "s/^(#define\tARCHIVE_VERSION_NUMBER).*/\$1 $VN/" libarchive/archive_entry.h
+perl -p -i -e "s/^(#define\tARCHIVE_VERSION_STRING).*/\$1 \"libarchive $VS\"/" libarchive/archive.h
+# Substitute versions into configure.ac as well
+perl -p -i -e 's/(m4_define\(\[LIBARCHIVE_VERSION_S\]),.*\)/$1,['"$VS"'])/' configure.ac
+perl -p -i -e 's/(m4_define\(\[LIBARCHIVE_VERSION_N\]),.*\)/$1,['"$VN"'])/' configure.ac
+
+# Remove developer CFLAGS if a release build is being made
+if [ -n "${MAKE_LIBARCHIVE_RELEASE}" ]; then
+ perl -p -i -e "s/^(DEV_CFLAGS.*)/# \$1/" Makefile.am
+fi
+
+set -xe
+aclocal -I build/autoconf
+
+# Note: --automake flag needed only for libtoolize from
+# libtool 1.5.x; in libtool 2.2.x it is a synonym for --quiet
+case `uname` in
+Darwin) glibtoolize --automake -c;;
+*) libtoolize --automake -c;;
+esac
+autoconf
+autoheader
+automake -a -c