From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1NHqwE-0000jm-P2 for mharc-grub-devel@gnu.org; Mon, 07 Dec 2009 22:40:34 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NHqwD-0000iR-01 for grub-devel@gnu.org; Mon, 07 Dec 2009 22:40:33 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NHqw8-0000fd-MO for grub-devel@gnu.org; Mon, 07 Dec 2009 22:40:32 -0500 Received: from [199.232.76.173] (port=34557 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NHqw8-0000fK-8E for grub-devel@gnu.org; Mon, 07 Dec 2009 22:40:28 -0500 Received: from mail-yx0-f191.google.com ([209.85.210.191]:37496) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NHqw7-0000J7-RU for grub-devel@gnu.org; Mon, 07 Dec 2009 22:40:28 -0500 Received: by yxe29 with SMTP id 29so13935521yxe.14 for ; Mon, 07 Dec 2009 19:40:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=U4yrpwZ9mFvtxW9k+Wv4/dthPNYMuHbAYujYTqzKzBw=; b=EJqaQwLk2E57Hs8Obxzd0NBSmKgXo59U1QiwK9Q6SxZ3w2Gw5YubtDoQbyJNhegqmm QqOZfZ1J6Ie3fCnwmZ5ghaJuVWxqkAhEL88RO1B+EK8C7gDiQLoE1acTTBuumE4KoIJy dfSa61eZEEEBI7DX5t3YRNJb6CaRsqjc5JB/8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=YLHDjMyeCSmjRH/Mpr/QQgy1/a4WTi7Q+0nJvZduxXq05Lcz9U50wRM2LWFREmcvJ0 UerTGRiTbnPI9SRUpOfAKcWiuknB3AFRKqcbD3zw2YSFhFg2uyGY8njv39hT0SwTC1kU HnqIXOoz3bqmY9hVtFBfnDTHZ05jhQRg21Qzs= Received: by 10.91.22.8 with SMTP id z8mr6319798agi.96.1260243622839; Mon, 07 Dec 2009 19:40:22 -0800 (PST) Received: from ?192.168.0.75? (cpe-66-69-97-231.satx.res.rr.com [66.69.97.231]) by mx.google.com with ESMTPS id 9sm2854665yxf.5.2009.12.07.19.40.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 07 Dec 2009 19:40:21 -0800 (PST) Message-ID: <4B1DCAA4.4000104@gmail.com> Date: Mon, 07 Dec 2009 21:40:20 -0600 From: Bruce Dubbs User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080722 SeaMonkey/1.1.11 MIME-Version: 1.0 To: The development of GNU GRUB References: <4B1D3D7E.5000909@gmail.com> <4B1D5C89.8080104@gmail.com> <4B1D6AB9.8070105@gmail.com> <4B1D8664.4070403@gmail.com> <20091207235455.GL6439@riva.ucam.org> <4B1D9758.1020303@gmail.com> <20091208001609.GR6439@riva.ucam.org> <4B1D9F1B.5070904@gmail.com> In-Reply-To: <4B1D9F1B.5070904@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: Re: Building system (Re: autogen.sh warnings) X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Dec 2009 03:40:33 -0000 Vladimir 'φ-coder/phcoder' Serbinenko wrote: > Colin Watson wrote: >> I wouldn't recommend it. The syntax looks similar, but there are some >> slight differences, and Automake has its own ideas of what rules and >> variables you are and aren't allowed to override. Besides, there's quite >> a lot of stuff that Automake will output even with an entirely blank >> Makefile.am; I doubt it would be very much fun to try to merge that into >> the current Makefile.in without essentially doing a full port to >> Automake. >> >> (Now if only I had time to actually do such a port ...) > You may consider this mail: > http://lists.gnu.org/archive/html/grub-devel/2006-08/msg00017.html > I see following variants for future developpement: > - Keep ruby and improve it to address some of its deficiencies > - Rewrite system in python. This way merging ruby and python dependencies. > - Using automake if it's deficiencies are addressable > - Using just GNU make as I proposed and implemented once. That is an interesting email from 2006. It looks like this issue has been around for quite a while. What is there right now seems to be a combination of items 1, 2, and 3. I've spent some time this evening reviewing automake and autoconf and it appears that they are not appropriate for GRUB as the only build tool. For one thing, GRUB creates no libraries, but it does create a lot of specialized modules that respond in some ways like dynamic libraries, but because of the specialized nature of the boot process, have to be implemented and built in a specialized way. Using multiple tools to control the build process is difficult and error prone. Either ruby or python would do, but I would note that python is a part of the Linux Standards Base Runtime Languages specification and ruby is not. On the other hand, there is a lot less python code. There are also the shell script files to consider, however they are fairly short and most have about 12 lines of copyright info in them (there are no copyright headers in the .rmk files). The current configuration contains the following line count: 443 genmk.rb 89 conf/any-emu.rmk 634 conf/common.rmk 97 conf/gcry.rmk 206 conf/i386-coreboot.rmk 164 conf/i386-efi.rmk 145 conf/i386-ieee1275.rmk 385 conf/i386-pc.rmk 2 conf/i386-qemu.rmk 21 conf/i386.rmk 111 conf/powerpc-ieee1275.rmk 136 conf/sparc64-ieee1275.rmk 169 conf/x86_64-efi.rmk 286 util/import_gcry.py 23 genhandlerlist.sh 26 genpartmaplist.sh 47 genmodsrc.sh 77 gensymlist.sh 23 autogen.sh 75 geninit.sh 45 gendistlist.sh 27 genkernsyms.sh 4 efiemu/runtime/efiemu.sh 26 genfslist.sh 22 gencmdlist.sh 45 geninitheader.sh 19 genparttoollist.sh What autotools does offer is a standard way to control installation directories, selective tool building, and tests for prerequisite tools, but those requirements should not need to be changed frequently. A custom Makefile and/or configure with include files generated from python or ruby seems to be a reasonable approach. I'm willing to help and can use any of these tools with varying amount of initial experience. Right now, I do not have strong thoughts about the way to go, but feel that the status quo is not optimal in the long run. The above data is meant only to further discussion. -- Bruce