Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 24138 invoked from network); 20 Oct 2009 21:31:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Oct 2009 21:31:31 -0000 Received: (qmail 70117 invoked by uid 500); 20 Oct 2009 21:31:31 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 70019 invoked by uid 500); 20 Oct 2009 21:31:31 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 70011 invoked by uid 99); 20 Oct 2009 21:31:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 21:31:31 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of trawick@gmail.com designates 72.14.220.152 as permitted sender) Received: from [72.14.220.152] (HELO fg-out-1718.google.com) (72.14.220.152) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 21:31:29 +0000 Received: by fg-out-1718.google.com with SMTP id 16so1196548fgg.13 for ; Tue, 20 Oct 2009 14:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=7+ATMON4UbMqkqSzgzEM6pcx+Re/I40mDKEVMwC4fMw=; b=RkMhZflkHVaVM2mf3ZApmqEmpFHl/c1jV3Ejiho6heG/DGUpivXRZNnC2T1b3fhsi4 XnSX/mDyf11HFO69bVyn5k3rgxr1GQif3XSXbUJ5btTJu/5JsYQpPe0BMTcItPZDZEat Fubn3Q6mMU+gN64KcLK1SnxKkSn8vcrthC6XM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=j0Jb2rsf009RngXy4EI9qWKLJLWJ6zby5OynzzdaclxSEZTyjOanYYrHQQdBwmhJKK Vux9I6R3MEaL497EVyDNQuGcw6vmP1cIrOBgElVUn737Jmn+CiGmoDuQ94enKym/whTM Mlz7cvcsvmcLj1IWZC2ptqI2NZGfdwCz8/Rg4= MIME-Version: 1.0 Received: by 10.86.251.40 with SMTP id y40mr4164670fgh.57.1256074247366; Tue, 20 Oct 2009 14:30:47 -0700 (PDT) In-Reply-To: <373C8C84-6D66-4198-8778-62DE81A77D8A@barrys-emacs.org> References: <7C3576B5-1E57-4E63-BAFC-3B0C3AFA50BF@jaguNET.com> <368F2942-58B7-4D14-ACF7-B23901522797@jaguNET.com> <7E9823BA-C0D5-4194-8912-4ED20DBD3FBF@barrys-emacs.org> <4ADD2C17.3070209@xbc.nu> <373C8C84-6D66-4198-8778-62DE81A77D8A@barrys-emacs.org> Date: Tue, 20 Oct 2009 17:30:47 -0400 Message-ID: Subject: Re: Mac OS X Universal builds and APR From: Jeff Trawick To: Barry Scott Cc: dev@apr.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, Oct 20, 2009 at 4:54 PM, Barry Scott wrote= : > > On 20 Oct 2009, at 04:18, Branko =C4=8Cibej wrote: > >> Barry Scott wrote: >>> >>> I think the problem is that configure is used to find out things that >>> change arch to arch >>> like void * size rather then using preprocessor detection of those >>> things. >> >> I wonder, how do you detect the size of void* with the preprocessor in >> C? The preprocessor doesn't understand sizeof. > > You detect that its a build on mac os x and then use the CPU feature macr= os > that the compiler defines to choose 4 or 8. You end up writing code like > this: > > #ifdef __APPLE__ > #ifdef __x86_64__ > its Mac intel 64 > #endif > etc... > >> >>> Testings for API functions being present would be arch independent. >> >> That depends, doesn't it? There's no guarantee that you have the same >> external libraries available in several different flavours. > > If you are talking about Mac OS X features then yes you have the same lib= s > on all arch. A vendor might provide an interface on a subset of architectures. A vendor might have a architecture-specific bug in an interface used by APR that would result in APR needing to disable its use for the affected architecture build. I wouldn't bet that Apple is in a class by itself with regards to these issues. (I recall that we had to disable the use of some OS feature for 64-bit mode in the past, though not on OS X.) APR-util more obviously uses features that aren't OS features and are packaged by groups with different philosophies. Maybe you only have Oracle/MySQL/whatever client libraries for one architecture.