[tlbuild] Building on the Macintosh

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Jan 17 16:41:33 CET 2018


On 17 January 2018 at 16:32, Richard Koch wrote:
> Karl,
>
> I just tried the hint below, replacing CC by OBJC. Just before compiling, I updated my source to the current server version.

What you should most likely try is
    export OBJCXX="clang++ -std=c++11"

>> On Jan 16, 2018, at 3:00 PM, Karl Berry <karl at freefriends.org> wrote:
>>
>>    XeTeX is using ordinary C
>>
>> Isn't it using objc for the file in question, not cc?
>>
>>       CC="clang -Dchar16_t=uint16_t" ...
>>
>> If objc is the issue, I think the above would work if it defined OBJC
>> instead of CC. Why it worked for AS, I don't know, but it's not
>> something I care to pursue.
>>
>> But my ./Build recipe in the previous message is compiler-independent. -k
>
> I also tried
>
>         env TL_COMPILER_GFLAGS='-g -O2 -Dchar16_t=uint16_t' ./Build -g

Setting -Dchar16_t is super ugly. Also, I'm not sure if this applies
to C/C++/ObjC/ObjC++ ...

> This caused earlier errors, I believe in popplet.
>
> Notice that in modern C++, char16_t is a BUILT-IN type. So it seems to me that efforts to tell compilers to equate it to something else are likely not to work. (Maybe a naive opinion!)

These could work of course. But if the rest of the source code
requires C++11, the workarounds simply make no sense.

> The one thing I cannot test is the patch from Akira Kakuto, because I cannot run reautoconf. Norbert tells me that this is in the sources for TeX Live, but warns that it requires automake, autoconf, etc. I don't have these.
>
> So I'm hoping that you will, at least temporarily, install the patch so I can test it. This patch only affects XETEX and it only applies on the MAC, and so it seems close to the least dangerous thing to try.
>
> (Luckily this should all go away next year when we use Sierra and the compilers work.)

I still claim that this should be fixed. Some projects like MacPorts
will keep compiling TL on older platforms.

What puzzles me though is why it works on (High) Sierra because
char16_t doesn't work for me on 10.13 if I don't specify C++11. (Some
C++11 features do work however even on 10.7/libc++ even without
specifying any C++11 flags.)


Dick, in the meanwhile, are you willing to test the build with
--without-x or --disable-x (I forgot which one it is) and check
whether you get any test failures?

Mojca


More information about the tlbuild mailing list