[tor-dev] Building TOR using Visual Studio

Артур Истомин art.istom at yandex.ru
Thu Oct 16 18:44:46 UTC 2014


On Thu, Oct 16, 2014 at 02:16:32PM -0400, Nick Mathewson wrote:
> On Thu, Oct 16, 2014 at 7:40 AM, Владимир Мартьянов
> <vilgeforce at gmail.com> wrote:
> > Hi all! I'm new at this list :-)
> >
> > I decided to understand how TOR works and I want to build it in VS to debug
> > it and explore it's internals. I have Visual Studio on my first PC and I got
> > errors during build on address.c. I investigated the reason: commit
> > 0ca83872468af59b94e14fe7fdfcb38cb5a3f496
> >
> > I have Visual Studio express 2013 on my second PC and I didn't have any
> > problems building the TOR.
> >
> > So I have two questions: did you decide not to support old Visual Studio
> > versions or it'll be better to build TOR in VS2008 too? If old versions
> > aren't supported, should it be some #error directives in sources to explain
> > this decision? It was really hard to understand where's the problem, so I
> > think #error will be very helpfull.
> >
> > If you give me some instructions about the problem, I'll try to commit the
> > changes. Thank you.
> 
> Hello, Vladimir!
> 
> That's the commit where we decided that, since C99 is 15 years old
> now, it's probably okay for us to require a compiler to support it.  I
> thought that I would get more feedback by breaking the master branch
> than by asking on a mailing list.
> 
> I'd be happy to take a patch that added #error directives for
> compilers that don't have basic C99 support.
> 
> But first, I'd like to ask you, and anyone else who sometimes uses
> compilers that don't support C99: Is it important for Tor that we keep
> supporting C89? Are there a lot of VS2008 users who can't upgrade?

Support for C89 makes it possible nativly compile and test software on 
old archs (e.g. VAX). This is one reason why OpenBSD supports many 
architectures that practically no longer used today. They have caught 
tons of bugs through this method.


More information about the tor-dev mailing list