On Sunday 10 August 2003 16:54, Raphael Manfredi wrote:
> That's it.  GTKG is now fully migrated to metaconfig!

One minor problem, for building RPM's: make install assumes that the BINDIR 
already exists. If you pass a different value to make install than you did to 
Configure (which you have to, for an RPM), this fails. Of course the 
workaround is easy (just mkdir it before calling make install in the 
specfile), but this should probably be fixed in the Makefile.

Here's what I have so far in the specfile:

%build
./Configure -D_prefix=%_prefix/ -Dbindir=%_bindir/ -Dprivlib=%_datadir/%name/ 
-Dsysman=%_mandir/man1/ -Dcc="$CC" -Dccflags="-Wall $CFLAGS" 
-Doptimize="%optflags" -Dgtkversion=2 -Dremotectrl=true -ders 
%make

%install
rm -rf $RPM_BUILD_ROOTway, 
mkdir -p $RPM_BUILD_ROOT/%_bindir
%makeinstall DESTDIR=$RPM_BUILD_ROOT/ PREFIX=$RPM_BUILD_ROOT/%_prefix/ 
BINDIR=$RPM_BUILD_ROOT/%_bindir/ PRIVLIB=$RPM_BUILD_ROOT/%_datadir/%name/

This works on my system, but I don't know about 64-bit linux, cross-compilers, 
embedded systems with dietlibc, or other weird platforms supported by 
Mandrake/Redhat/etc. I can find people to do the testing on Mandrake, but 
someone should look into at least one other RPM-based distro (probably 
Redhat). And I don't know if the lack of libtoolize/cputoolize stuff makes 
any difference....

It would be supercool to have two changes:

1. Create a "./configure" front-end that converts all the autoconf crap to 
equivalent metaconf crap (so CFLAGS=-blah ./configure --prefix=%_prefix/ 
--with-remotectrl=yes --with-gtkversion=2 becomes ./Configure -Dccflags=-blah 
-D_prefix=%_prefix/ -Dremotectrl=yes -Dgtkersion=2). It should also look for 
autoconf site defaults, I guess. This should be relatively easy; I could do 
it. But if you're against the idea, I won't.

2. Generate a Makefile that honors the autoconf-style defines (prefix, 
exec_prefix, etc.). Alternatively, just honor DESTDIR and "%makeinstall 
DESTDIR=$RPM_BUILD_ROOT" will work 99% of the time.

I suppose the real solution is to build metaconfig-aware rpm macros instead 
(so you'd just use %configure_meta and %makeinstall_meta--or, better yet, 
%configure and %makeinstall would automagically figure out that the package 
uses metaconfig and act accordingly). I'll see if the Mandrake people are 
interested in such a solution.

> No other functionality update, I was too busy with the migration process.
> I simply integrated Andrew's patch, so we should now be almost ready
> for the 0.92.1 release.

As I mentioned before, because I did that in the middle of the metaconfig 
changeover, I was never able to test those changes. Now I can; if anything is 
wrong, I'll submit a new patch tonight.

> I say almost because I have no idea how to integrate the I18N support.
> This was done behind the scenes by autocrap, but since I don't know
> exactly how things work, I was unable to port that to metaconfig.  I'd
> appreciate any pointer on the subject.

As always for gnu stuff, the only standard resource is the info files, which 
are only just barely navigable if you're already familiar with the concepts.

The quick-and-dirty way is to look at the main Makefile, po/Makefile, and 
po/POFILES generated by autoconf and copy and paste (you may want to have 
your scripts scan for po/*.po and sed the results accordingly).

> . To particularize the build from the command line, you need to figure
>   out the metaconfig symbol you want to set.  For instance, I use
>   the following command line in debian/rules:

I suppose there's no way to get a list of options like ./configure --help, 
other than by reading the Configure script, like:
  grep 'case\ \"\$' Configure

If you could manually specify extra text in Jmakefile (or wherever) to be 
added to the Configure -h output, that'd be at least as easy as in autoconf, 
and almost as useful.



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Gtk-gnutella-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to