Hi,
In the Makefile for Subversion, some directories searched for include files
are specified redundantly, since...:
* SWIG_PY_INCLUDES includes SWIG_INCLUDES.
COMPILE_PY_WRAPPER includes both of those two options.
* SWIG_RB_COMPILE includes SWIG_RB_INCLUDES, which includes SWIG_INCLUDES.
COMPILE_SWIG_RB includes SWIG_RB_COMPILE and SWIG_RB_INCLUDES, and
COMPILE_RB_WRAPPER includes SWIG_RB_COMPILE, SWIG_INCLUDES, and
SWIG_RB_INCLUDES.
Actually, when I run
'make -W subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
-n subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.lo',
I find 28 '-I'-s in the resulting one line and the 80x20 terminal screen is
filled with that line... :-)
It may not be harmful but is ugly.
Here is a patch to fix it.
Please check it.
Thanks,
-nori
[[[
Remove ugly duplication of directories searched for include files.
Problem scenario:
1. SWIG_PY_INCLUDES includes SWIG_INCLUDES.
SWIG_RB_COMPILE includes SWIG_RB_INCLUDES, which includes SWIG_INCLUDES.
2. COMPILE_PY_WRAPPER includes both of SWIG_PY_INCLUDES and SWIG_INCLUDES.
COMPILE_SWIG_RB includes SWIG_RB_COMPILE and SWIG_RB_INCLUDES.
COMPILE_RB_WRAPPER includes SWIG_RB_COMPILE, SWIG_INCLUDES, and
SWIG_RB_INCLUDES.
* Makefile.in
(COMPILE_PY_WRAPPER): Remove SWIG_INCLUDES, which is included in
SWIG_PY_COMPILE.
(COMPILE_RB_WRAPPER): Remove SWIG_INCLUDES, which is included in
SWIG_RB_COMPILE.
* build/ac-macros/swig.m4 (SVN_FIND_SWIG): Remove SWIG_RB_INCLUDES from
SWIG_RB_COMPILE.
]]]
Index: Makefile.in
===================================================================
--- Makefile.in (revision 19807)
+++ Makefile.in (working copy)
@@ -162,8 +162,8 @@
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
# Compilation of SWIG-generated C source code
-COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
-COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(SWIG_INCLUDES) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
+COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
+COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
# these commands link the wrapper objects into an extension library/module
LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module
Index: build/ac-macros/swig.m4
===================================================================
--- build/ac-macros/swig.m4 (revision 19807)
+++ build/ac-macros/swig.m4 (working copy)
@@ -175,7 +175,7 @@
SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
- svn_cv_ruby_compile="`$RUBY -rrbconfig -e 'print Config::CONFIG.fetch(%q(CC)), %q( ), Config::CONFIG.fetch(%q(CFLAGS))'` \$(SWIG_RB_INCLUDES)"
+ svn_cv_ruby_compile="`$RUBY -rrbconfig -e 'print Config::CONFIG.fetch(%q(CC)), %q( ), Config::CONFIG.fetch(%q(CFLAGS))'`"
])
SWIG_RB_COMPILE="$svn_cv_ruby_compile"
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 25 19:02:15 2006