bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs 28.1 doesn't compile on Mac OS 10.7.5


From: Ryan Schmidt
Subject: Re: Emacs 28.1 doesn't compile on Mac OS 10.7.5
Date: Sun, 17 Apr 2022 09:33:31 -0500

On Apr 17, 2022, at 02:54, Paul Eggert wrote:

> On 4/16/22 20:28, Jeffrey Walton wrote:
>> maybe you should define a couple of macros
>> like GNULIB_LLVM_CLANG_VER and GNULIB_APPLE_CLANG_VER
> 
> I hope we don't need to do that. This is software archaeology (Mac OS X 
> 10.7.5 is so old that neither the Subject: line nor my patch got its name 
> right, and nobody mentioned the mistake :-) and these macros would clutter 
> the code for little benefit. Most Clang-specific code nowadays shouldn't use 
> Clang version numbers; it should use __has_builtin etc.

I agree you should detect features if you can. If you can't, and you need to 
look at the compiler version, you need to first establish whether you're using 
Apple Clang or open source clang, since the two use different version numbering 
schemes. If __clang__ is defined and __apple_build_version__ is defined, you're 
using Apple Clang and you could inspect that constant directly or you could 
look at __clang_major__, __clang_minor__, and/or __clang_patchlevel__ 
interpreted as Apple Clang version numbers. If __clang__ is defined and 
__apple_build_version__ is not defined, you're using open source clang and can 
look at the __clang_*__ defines interpreted as open source clang version 
numbers.


Some sample output from my system:

$ clang -dM -E - < /dev/null | egrep '__(clang|apple)'
#define __apple_build_version__ 4250028
#define __clang__ 1
#define __clang_major__ 4
#define __clang_minor__ 2
#define __clang_patchlevel__ 0
#define __clang_version__ "4.2 (clang-425.0.28)"

$ clang -v
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix

$ xcodebuild -version
Xcode 4.6.3
Build version 4H1503

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.7.5
BuildVersion:   11G63






reply via email to

[Prev in Thread] Current Thread [Next in Thread]