@suv - I'm sure everyone will agree with me, though, that you're one of the most valued members of the project... I really think that locking you out of compiling the latest development version should be our very last resort!

Best wishes,

Alex

On 26 Aug 2015 2:16 pm, "su_v" <suv@...2204...> wrote:
On 2015-08-26 02:46 (+0200), Krzysztof Kosiński wrote:
> Is Xcode the only way to compile anything on OS X? (I'm completely
> unfamiliar with that platform.)

Xcode and Xcode's CLT [1] are a prerequisite (default toolchain) for any
of the major package managers on OS X (MacPorts, Fink, Homebrew,
gtk-osx) which ease getting all the dependencies for GTK+ and Inkscape
installed. Besides Apple's compiler toolchain (compatible with the
system runtimes) Xcode provides the SDKs for building against Apple's
frameworks.

* As likely mentioned a few times in earlier threads, it is technically
possible to build a custom (newer) compiler toolchain (be it for FSF GCC
or Clang) from source; it is technically also possible to compile the
dependencies as well as Inkscape itself from source using that custom
compiler. As long as nothing pulls in system libs or frameworks which
are linked against an incompatible system C++ runtime, this might
produce stable inkscape binaries.
Both can be attempted via MacPorts, too, though the part of rebuilding
the tree itself with that custom compiler to avoid any mixing of
different (incompatible) C++ runtimes is not an officially supported
MacPorts configuration.
* On OS X 10.7 (Lion) and OS X 10.8 (Mountain Lion), it is technically
possible to recompile the dependency tree with Apple's system compiler
(clang), and switch the C++ runtime from GCC's 4.2.1 libstdc++ to libc++
via CXXFLAGS or command line arguments passed to the compiler [2]. The
success rate of this strategy is not known to me - Lion's libc++ is
likely rather dated, and breakages of some of the dependencies to be
expected (various build systems may make assumptions about what to use
on OS X, and override/ignore custom configurations). Again not an
officially supported configuration within MacPorts [3].
* Alternative package managers (e.g. Fink, Homebrew) may have developed
their own solutions to support modern C++11-based ports/packages on
older versions of OS X (I haven't investigated in detail since MacPorts
is my preferred tool for installing Inkscape's dependencies, and served
me well for this purpose in the past) - the overall tendency though
seems to be that full support for older versions of OS X is waning (i.e.
depending on what individual developers and port/package maintainers are
willing/able to sustain - some might choose to follow what appears to be
Apple's policy: current and past two versions only).

It was my personal choice (for several reasons) not to attempt a
strategy based on custom compiler toolchain(s) again - neither for local
Unix-style trunk/release branch builds, nor for osx packaging (creating
relocatable and fully self-contained application bundles).

Since having the role of a single person currently stuck with an
outdated version of a proprietary OS who is holding back all of
Inkscape's development makes me increasingly uncomfortable (some of the
reasons I'm "stuck" like this are of personal nature and not strictly
technical (or monetary)), I suggest that the project moves on,
officially ends support for OS X < 10.9 (if someone volunteers to
attempt to create pre-compiled packages for <= 10.8 that would be a
bonus), and opens trunk for C++11 features without restrictions ASAP.

Once my personal circumstances change and I have access to a modern
compiler toolchain with full C++11 support (preferably provided by the
system), I'll likely pick up bug triage again, possibly packaging (or at
least the osxmenu branch), too.

Regards, V


[1] CLT: Command Line Tools Package - available for download separately
from Xcode which allows to do UNIX-style command line development in OS X.
[2] https://trac.macports.org/wiki/LibcxxOnOlderSystems
[3] recent example: "ncurses @6.0_0 fails to build on Lion with
cxx_stdlib=libc++" https://trac.macports.org/ticket/48627#comment:9


> On the Linux side, I think we can safely assume C++11 support no worse
> than in GCC 4.8.4 (the version from current Ubuntu LTS).
>
> Regards, Krzysztof
>
> 2015-08-25 18:25 GMT+02:00 su_v <suv@...2204...>:
>> On 2015-08-25 16:59 (+0200), Alex Valavanis wrote:
>>> The AX macro tests for a few C++11 features (not just support for the
>>> command-line flag) but it isn't comprehensive.  Still, this looks like
>>> good progress.  AFAIK, Xcode 5.0 would be needed for full C++11
>>> support.
>>>
>>> Do you know which is the earliest OS X version that will run Xcode 4.6?
>>
>> Xcode 4.6: OS X 10.7 Lion
>> Xcode 5.x: OS X 10.8 Mountain Lion
>> Xcode 6.2: OS X 10.9 Mavericks
>> Xcode 6.4: OS X 10.10 Yosemite
>>
>> See also:
>> https://trac.macports.org/wiki/XcodeVersionInfo


------------------------------------------------------------------------------
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@...1794...s.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel