>>>> "Gunnar" == Gunnar Evermann
<ge204(a)eng.cam.ac.uk> writes:
Gunnar> I tried building the packages from source. Even doing a
Gunnar> make clean in the root of the xemacs packages source tree
Gunnar> takes ages.
Gunnar> This is because the XEmacs.rules file contains:
Gunnar> -----
Gunnar> XEMACS_NATIVE_NT = \
Gunnar> $(shell $(XEMACS) $(VANILLA) -batch \
Gunnar> -eval "(princ (eq system-type 'windows-nt))")
Gunnar> -----
Gunnar> this is executed for every single directory in the whole
Gunnar> source tree (i.e. for all 110 Makefiles).
Gunnar> I am all in favour of compatability with different OSs,
Gunnar> but could this please be done slightly more efficiently?
Gunnar> e.g. only do this once instead of 110 time?
I guess the best I can do is to make XEMACS_NATIVE_NT a variable to
be specified by the user.
Setting it once in a hierarcical makefile structure isn't trivially
done cleanly.
Let's make us Windows NT guys suffer, we're used to it :-)
Gunnar, can you please give me execution-time numbers for a top-level
make clean
with and without following patch?
How have you determined that my change is actually responsible for the
slowness?
It still takes ages for me on NT, and it even rhymes!
cd d:\tmp\xemacs-packages\
make XEMACS_NATIVE_NT=t clean
Compilation started at Wed Oct 18 00:07:25 2000 +0200 (W. Europe Daylight Time)
for dir in libs comm games prog wp os oa; do \
make --unix -C ${dir} clean; \
done
make[1]: Entering directory `/cygdrive/d/tmp/xemacs-packages/libs'
<352 lines deleted by Adrian>
rm -f strokes.elc ./auto-autoloads.elc \
./custom-load.elc
make[2]: Leaving directory `/cygdrive/d/tmp/xemacs-packages/oa/strokes'
make[1]: Leaving directory `/cygdrive/d/tmp/xemacs-packages/oa'
Compilation finished at Wed Oct 18 00:45:16
Best regards,
Adrian
Index: XEmacs.rules
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-packages/XEmacs.rules,v
retrieving revision 1.21
diff -u -u -r1.21 XEmacs.rules
--- XEmacs.rules 2000/08/24 17:13:19 1.21
+++ XEmacs.rules 2000/10/17 22:58:31
@@ -36,9 +36,23 @@
# APA: XEmacs native NT currently (2000-06-23) has shortcomings we
# need to temporarily work around.
-XEMACS_NATIVE_NT = \
-$(shell $(XEMACS) $(VANILLA) -batch \
--eval "(princ (eq system-type 'windows-nt))")
+#
+# Please run make as follows for a native NT XEmacs:
+#
+# make XEMACS_NATIVE_NT=t ...
+#
+# since following test, which would be performed by every makefile
+# including XEmacs.rules, slows down the make process terribly
+# according to
+#
+# From: Gunnar Evermann <ge204(a)eng.cam.ac.uk>
+# Subject: building xemacs-pacakges on unix
+# To: XEmacs Developers <xemacs-beta(a)xemacs.org>
+# Date: 14 Oct 2000 12:28:44 +0100
+#
+# XEMACS_NATIVE_NT = \
+# $(shell $(XEMACS) $(VANILLA) -batch \
+# -eval "(princ (eq system-type 'windows-nt))")
# Only in rare cases will you need to override this
ifeq ($(AUTOLOAD_PATH),)
Gunnar> Gunnar
--
Adrian Aichner <adrian(a)xemacs.org>,
http://www.xemacs.org