From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/2746 Path: news.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: musl detection by preprocessor Date: Fri, 8 Feb 2013 18:07:41 +0100 Message-ID: <20130208170741.GX6181@port70.net> References: <1360340887.2983.352.camel@eris.loria.fr> <20130208164134.GV6181@port70.net> <1360342301.2983.361.camel@eris.loria.fr> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1360343274 20653 80.91.229.3 (8 Feb 2013 17:07:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Feb 2013 17:07:54 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-2747-gllmg-musl=m.gmane.org@lists.openwall.com Fri Feb 08 18:08:15 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1U3rQq-0007Vh-Bt for gllmg-musl@plane.gmane.org; Fri, 08 Feb 2013 18:08:12 +0100 Original-Received: (qmail 26119 invoked by uid 550); 8 Feb 2013 17:07:53 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 26111 invoked from network); 8 Feb 2013 17:07:53 -0000 Content-Disposition: inline In-Reply-To: <1360342301.2983.361.camel@eris.loria.fr> User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:2746 Archived-At: * Jens Gustedt [2013-02-08 17:51:41 +0100]: > Am Freitag, den 08.02.2013, 17:41 +0100 schrieb Szabolcs Nagy: > > * Jens Gustedt [2013-02-08 17:28:07 +0100]: > > > In short I have some problem where they (the gnus) deviate from > > > standard interfaces, here this was triggered by their different > > > iterface for strerror_r. Now the musl compiler wrapper doesn't allow > > > to distinguish a linux system with glibc or with musl (or at least I > > > didn'find one). > > > > > > Inspecting the wrapper, it looks quite easy to add something like > > > > > > -D__MUSL__=000909UL > > > > > > > can you use #ifdef __GLIBC__ ? > > Hm, I don't think that this comes timely enough. Where would this be > defined, probably in some header file that I'd include, no? > > I'd like to distinguish the platform as early as possible, ideally > *before* I include any files, such that I can base decisions on which > files to include only on #defines that the pure compiler provides. > ok now i understand what you want i think you should use featuretest macros to get a subset of the interfaces (eg specify -D_BSD_SOURCE for all bsd things or -D_POSIX_C_SOURCE=200809L for posix etc) you can check the default setting in include/features.h strerror_r may be bad to provide under _GNU_SOURCE but by that logic we should not provide ptrintf under _GNU_SOURCE either as the gnu printf is non-conformant but musl's printf is