From: Joerg F. <jf...@ao...> - 2003-12-08 19:54:41
|
>>>>> "Egon" == Joerg Faschingbauer <jf...@sa...> writes: Egon> The external/mico thing is a major pain in the ass. Google just told Egon> me that there is a more sophisticated autoconf piece in the autoconf Egon> macro archive Egon> (http://www.gnu.org/software/ac-archive/htmldoc/ac_pkg_mico.html). As Egon> Confix comes with that archive, it would be fairly easy to integrate Egon> it. I'd give it a try over the weekend, if you want. AC_PKG_MICO Egon> doesn't know of CCM however, but we're not using that anyway. Egon> Having a confix module for mico would be a good example for how Egon> external packages are glued into confix, so it's not a bad idea to put Egon> it in the utils package. Just tried out AC_PKG_MICO. It didn't work right out of the box: m4 said, configure.in:219: /usr/bin/m4: Bad regular expression `[[[\([[[[]]]]\)]]]': Unmatched ) or \) Don't know what that means, but after a binary search in confix/share/confix/ac-m4/autoconf-archive/m4source/ac_pkg_mico.m4 I applied a bad hack to make it run. If you want to try it out, you'll have to get the CVS version of confix to get that revision. (I use to maintain the autoconf archive on a vendor branch.) The check uses the mico-setup.sh script to determine the build parameters. If you have mico in a default location (something like /usr, /usr/local or so), you don't have to specify anything on the configure commandline. If you haven't, you have to pass the path name to mico-setup.sh as the "--with-mico=" value; for example, configure --with-mico=$HOME/mico-2.3.10-gcc-2.95.3/lib/mico-setup.sh See http://www.gnu.org/software/ac-archive/htmldoc/ac_pkg_mico.html for details. So how to tell confix about it? I refrained from putting it into the utils package, because I don't want the user to have to specify any configure options if he doesn't care. (He'd have to say "--without-mico" to compile utils if he has no mico installation.) Anyway, it's easy to create a glue module yourself. Just create a module directory (I suppose the right place is the remote environment) with a Makefile.py as follows. # announce that we satisfy any #include <CORBA.h> directive. PROVIDE_H('CORBA.h') # place the AC_PKG_MICO invocation in the using package's # configure.in. CONFIGURE_IN(lines=['AC_PKG_MICO'], id='AC_PKG_MICO', order=AC_LIBRARIES) # AC_PKG_MICO will AC_SUBST the MICO_INCLUDE and MICO_LIB variables; # place them on the using module's compile and link lines. EXTERNAL_LIBRARY2(inc='@MICO_INCLUDE@', lib='@MICO_LIB@') Cheers, Joerg |