excessive dependency: libIDL calling gcc!



Hi,

At first I thought this was a rather minor issue, but on reflection, I
suspect it's more than that.

By default, libIDL seems to call "gcc -E" to do preprocessing of the
IDL files -- at least, on a system where it can.  This introduces a
run-time dependency on gcc for anything using libIDL, i.e. the perl
and python bindings for ORBit.

It seems to me like it would be far better to have a tropism for
calling "cpp" directly at run-time, and to introduce a dependency on
cpp, rather than making ORBit -- and therefore, all of Gnome -- have a
run-time dependency on gcc.  And far, far better than to leave things
as they are, with an undeclared run-time dependency to trip people up.

Unfortunately, I'm not enough of an autoconf guru to be sure how to
create such a tropism.  I hand-patched the Debian packages to use cpp,
but I don't think the patch (show below) is portable to Solaris or
HPUX or other systems where gcc is not standard.

I also assume that the SPEC file should be patched to add this
dependency.  I would be tempted (was tempted, in the case of the
Debian packages) to split libIDL off into a separate package, but I'll
leave that decision up to those who actually use RPM-based systems.

Anyway, here's the patch I used for Debian.  Note that this is NOT
sufficiently portable for inclusion in CVS.  I include it only to
illustrate where the problem lies (and perhaps to help those making
prebuilt binaries for specific systems).

cheers

--- orbit-0.5.7.orig/libIDL/configure
+++ orbit-0.5.7/libIDL/configure
@@ -1498,9 +1498,9 @@
 #define CPP_NOSTDINC "$ac_cv_cpp_nostdinc"
 EOF
 
-CPP_PROGRAM="$CPP"
+CPP_PROGRAM="cpp"
 cat >> confdefs.h <<EOF
-#define CPP_PROGRAM "$CPP"
+#define CPP_PROGRAM "cpp"
 EOF
 

-- 
Chris Waters           |  Pneumonoultra-        osis is too long
xtifr debian org       |  microscopicsilico-    to fit into a single
or xtifr speakeasy net |  volcaniconi-          standalone haiku




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]