From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.sysutils.supervision.general/281 Path: main.gmane.org!not-for-mail From: Charlie Brady Newsgroups: gmane.comp.sysutils.supervision.general Subject: How to cross-compile runit Date: Tue, 13 Jan 2004 11:06:20 -0500 (EST) Message-ID: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: sea.gmane.org 1074010394 1961 80.91.224.253 (13 Jan 2004 16:13:14 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 13 Jan 2004 16:13:14 +0000 (UTC) Original-X-From: supervision-return-519-gcsg-supervision=m.gmane.org@list.skarnet.org Tue Jan 13 17:13:05 2004 Return-path: Original-Received: from antah.skarnet.org ([212.43.221.114]) by deer.gmane.org with smtp (Exim 3.35 #1 (Debian)) id 1AgRA9-0004pE-00 for ; Tue, 13 Jan 2004 17:13:05 +0100 Original-Received: (qmail 11484 invoked by uid 76); 13 Jan 2004 16:13:26 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Archive: Original-Received: (qmail 11144 invoked from network); 13 Jan 2004 16:06:45 -0000 X-X-Sender: charlieb@allspice.nssg.mitel.com Original-To: supervision@list.skarnet.org Xref: main.gmane.org gmane.comp.sysutils.supervision.general:281 X-Report-Spam: http://spam.gmane.org/gmane.comp.sysutils.supervision.general:281 For those who might be interested, here's what's needed to be done to cross-compile runit. The Makefile as delivered assumes that it is possible to build binaries and execute them in order to test for feature availability on the target. You won't be able to do that in a cross compile environment. Instead, you'll need to do some hand testing to determine the correct answers to questions that make usually determines at build time. # start with a clean slate make clean # Set up build tools echo path/to/cc > conf-cc echo path/to/cc -s > conf-ld make compile load choose # Detect and avoid imitation poll() libraries # If trypoll builds and executes without error on the target # set H to iopause.h2 H=iopause.h1 cp $H iopause.h # Does target have 64bit long arithmetic? # Test by building tryulong64 and executing on target # set H to uint64.h2 if so H=uint64.h1 cp $H uint64.h # Does target have a short gid_t type? # Test by building tryshsgr and executing on target # set H to hasshsgr.h2 if so make chkshsgr H=hasshsgr.h1 cp $H hasshsgr.h # All the configuration based on runtime results is now complete # The rest are compile and/or link tests, and can be relied upon make -- Charlie