ICU-20470 skip data/rules.mk regen for source tarball
- If icu/source/data/locales/root.txt missing, skip
python rules.mk generation.
- Also, create build directories properly as needed
- Also includes noise changes to configure
(configure was probably generated using unreleased
autoconf 2.70 or 2.69 + patches)
- eac8f4b31ab7395abb3a216aa17bafe7af6314ed did not
regen configure properly, so BUILDTOOL_OPTS is now
ICU_DATA_BUILDTOOL_OPTS
diff --git a/icu4c/source/configure b/icu4c/source/configure
index 8fbdbe6..7d704b0 100755
--- a/icu4c/source/configure
+++ b/icu4c/source/configure
@@ -753,7 +753,6 @@
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -858,7 +857,6 @@
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1111,15 +1109,6 @@
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1257,7 +1246,7 @@
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1410,7 +1399,6 @@
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -9127,16 +9115,22 @@
then
echo "" > data/rules.mk
else
- echo "Spawning Python to generate data/rules.mk..."
- PYTHONPATH="$srcdir/data" $PYTHON -m buildtool \
- --mode gnumake \
- --seqmode parallel \
- --src_dir "$srcdir/data" \
- --filter_file "$ICU_DATA_FILTER_FILE" \
- $BUILDTOOL_OPTS \
- > data/rules.mk
- if test "$?" != "0"; then
- as_fn_error $? "Python failed to run; see above error." "$LINENO" 5
+ if test -f "$srcdir/data/locales/root.txt";
+ then
+ echo "Spawning Python to generate data/rules.mk..."
+ PYTHONPATH="$srcdir/data" $PYTHON -m buildtool \
+ --mode gnumake \
+ --seqmode parallel \
+ --src_dir "$srcdir/data" \
+ --filter_file "$ICU_DATA_FILTER_FILE" \
+ $ICU_DATA_BUILDTOOL_OPTS \
+ > data/rules.mk
+ if test "$?" != "0"; then
+ as_fn_error $? "Python failed to run; see above error." "$LINENO" 5
+ fi
+ else
+ echo "Not rebuilding data/rules.mk, assuming prebuilt data in data/in"
+ touch data/rules.mk
fi
echo "Spawning Python to generate test/testdata/rules.mk..."
PYTHONPATH="$srcdir/test/testdata:$srcdir/data" $PYTHON -m buildtool \
diff --git a/icu4c/source/configure.ac b/icu4c/source/configure.ac
index 5f8a32e..6c4cb06 100644
--- a/icu4c/source/configure.ac
+++ b/icu4c/source/configure.ac
@@ -1391,16 +1391,22 @@
then
echo "" > data/rules.mk
else
- echo "Spawning Python to generate data/rules.mk..."
- PYTHONPATH="$srcdir/data" $PYTHON -m buildtool \
- --mode gnumake \
- --seqmode parallel \
- --src_dir "$srcdir/data" \
- --filter_file "$ICU_DATA_FILTER_FILE" \
- $ICU_DATA_BUILDTOOL_OPTS \
- > data/rules.mk
- if test "$?" != "0"; then
- AC_MSG_ERROR(Python failed to run; see above error.)
+ if test -f "$srcdir/data/locales/root.txt";
+ then
+ echo "Spawning Python to generate data/rules.mk..."
+ PYTHONPATH="$srcdir/data" $PYTHON -m buildtool \
+ --mode gnumake \
+ --seqmode parallel \
+ --src_dir "$srcdir/data" \
+ --filter_file "$ICU_DATA_FILTER_FILE" \
+ $ICU_DATA_BUILDTOOL_OPTS \
+ > data/rules.mk
+ if test "$?" != "0"; then
+ AC_MSG_ERROR(Python failed to run; see above error.)
+ fi
+ else
+ echo "Not rebuilding data/rules.mk, assuming prebuilt data in data/in"
+ touch data/rules.mk
fi
echo "Spawning Python to generate test/testdata/rules.mk..."
PYTHONPATH="$srcdir/test/testdata:$srcdir/data" $PYTHON -m buildtool \
diff --git a/icu4c/source/data/Makefile.in b/icu4c/source/data/Makefile.in
index 43a8e01..3e917a8 100644
--- a/icu4c/source/data/Makefile.in
+++ b/icu4c/source/data/Makefile.in
@@ -251,6 +251,7 @@
echo timestamp > $@
$(PKGDATA_LIST): $(SRCLISTDEPS) $(ICUDATA_SOURCE_ARCHIVE)
ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)
+ $(MKINSTALLDIRS) $(OUTTMPDIR) $(BUILDDIR)
@echo "Unpacking $(ICUDATA_SOURCE_ARCHIVE) and generating $@ (list of data files)"
@-$(RMV) $@
$(INVOKE) $(TOOLBINDIR)/icupkg -d $(BUILDDIR) --list -x \* $(ICUDATA_SOURCE_ARCHIVE) -o $@