From: Marius Storm-Olsen <marius@storm-olsen.com>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: Johannes.Schindelin@gmx.de, msysgit@googlegroups.com,
git@vger.kernel.org, lznuaa@gmail.com, bonzini@gnu.org,
kusmabite@googlemail.com
Subject: Re: [RFC] Enable compilation by Makefile for the MSVC toolchain
Date: Tue, 18 Aug 2009 19:38:15 +0200 [thread overview]
Message-ID: <4A8AE707.9010202@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.0908181226160.7195@iabervon.org>
Daniel Barkalow said the following on 18.08.2009 18:51:
> On Tue, 18 Aug 2009, Marius Storm-Olsen wrote:
>
>> From: Marius Storm-Olsen <mstormo@gmail.com>
>>
>> By using GNU Make we can also compile with the MSVC toolchain.
>> This is a rudementary patch, only meant as an RFC for now!!
>>
>> !! DO NOT COMMIT THIS UPSTREAM !!
>> ---
>> So, instead of rely on these vcproj files which *will* go stale, we can
>> simply use the same Makefile system which everyone else is using. :)
>> After all, we're just compiling with a different compiler. The end result
>> will still rely on the *msysGit environment* to function, so we already
>> require it. Thus, GNU Make is present, and we can use it.
>>
>> This implementation is a quick hack to make it compile (hence the RFC
>> subject), so please don't even consider basing anything ontop of it ;)
>>
>> But, do point out all the do's and don'ts, and I'll try to polish it up
>> to something which we can add to Frank's series..
>>
>>
>> Makefile | 97 +++++++++++++++++++++++++++++++++++++++++++++++---------
>> compat/msvc.h | 77 +++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 158 insertions(+), 16 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index daf4296..2e14976 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -214,9 +214,13 @@ uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
>>
>> CFLAGS = -g -O2 -Wall
>> LDFLAGS =
>> +ARFLAGS = rcs\ # whitespace intentional
>> ALL_CFLAGS = $(CFLAGS)
>> ALL_LDFLAGS = $(LDFLAGS)
>> STRIP ?= strip
>> +COMPFLAG = -c
>> +COBJFLAG = -o\ # whitespace intended
>> +LOBJFLAG = -o\ # whitespace intended
>
> I think it's nicer to write the significant whitespace with non-whitespace
> text using something like:
>
> empty=
> space=$(empty) $(empty)
>
> (...)
>
> ARFLAGS = rcs$(space)
>
> COBJFLAG = -o$(space)
>
> On the other hand, I think it would be clearer to put the "rcs" in the
> default version of $(AR), and have a $(AROBJFLAG) set to nothing there,
> since the "rcs" isn't actually at all like the "-OUT:" with respect to
> what it's doing there.
>
> Possibly also to have two variables for the output of the toolchain
> wrapper, one that is before the name of the file and one that's attached
> to the name of the file.
I agree on all accounts. If we don't go for a wrapper script, as Junio
suggested, then I'll definitely do it like you suggested.
--
.marius
next prev parent reply other threads:[~2009-08-18 17:37 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-17 16:04 [PATCH 06/11] Add miss git-compat-util.h at regex.c and fnmatch.c Add git-compat-util.h to enable build at MSVC environment Frank Li
2009-08-17 16:04 ` [PATCH 07/11] Add O_BINARY flag to open flag at mingw.c Frank Li
2009-08-17 16:04 ` [PATCH 08/11] Place __stdcall to correct position Frank Li
2009-08-17 16:05 ` [PATCH 09/11] Add MSVC porting header files Frank Li
2009-08-17 16:05 ` [PATCH 10/11] Add MSVC Project file Frank Li
2009-08-17 17:11 ` Johannes Schindelin
2009-08-17 17:34 ` Paolo Bonzini
2009-08-17 17:40 ` Erik Faye-Lund
2009-08-17 18:16 ` Paolo Bonzini
2009-08-17 19:53 ` Johannes Schindelin
2009-08-17 20:02 ` Paolo Bonzini
2009-08-17 20:54 ` Johannes Schindelin
2009-08-17 20:17 ` Pau Garcia i Quiles
2009-08-17 20:43 ` Reece Dunn
2009-08-17 20:54 ` Pau Garcia i Quiles
2009-08-17 21:05 ` Reece Dunn
2009-08-17 22:17 ` Johan 't Hart
2009-08-17 21:05 ` Johannes Schindelin
2009-08-17 21:23 ` Pau Garcia i Quiles
2009-08-17 22:10 ` Johannes Schindelin
2009-08-17 22:19 ` Pau Garcia i Quiles
2009-08-17 22:21 ` Paolo Bonzini
2009-08-17 22:32 ` Thiago Farina
2009-08-17 22:33 ` Thiago Farina
2009-08-17 20:56 ` Johannes Schindelin
2009-08-17 20:59 ` Pau Garcia i Quiles
2009-08-17 21:11 ` Johannes Schindelin
2009-08-17 22:26 ` Johan 't Hart
2009-08-17 23:00 ` Pau Garcia i Quiles
2009-08-17 23:40 ` Johannes Schindelin
2009-08-17 22:44 ` Pau Garcia i Quiles
2009-08-18 12:58 ` [RFC] Enable compilation by Makefile for the MSVC toolchain Marius Storm-Olsen
2009-08-18 13:01 ` Marius Storm-Olsen
2009-08-18 13:09 ` Erik Faye-Lund
2009-08-18 14:11 ` Johannes Schindelin
2009-08-18 17:07 ` Pau Garcia i Quiles
2009-08-18 21:35 ` Johannes Schindelin
2009-08-18 17:55 ` Marius Storm-Olsen
2009-08-18 18:42 ` Daniel Barkalow
2009-08-18 21:57 ` Johannes Schindelin
2009-08-19 9:58 ` Johannes Schindelin
2009-08-18 16:22 ` Johan 't Hart
2009-08-18 16:28 ` Reece Dunn
2009-08-18 17:06 ` Pau Garcia i Quiles
2009-08-18 17:44 ` Paolo Bonzini
2009-08-18 16:51 ` Junio C Hamano
2009-08-18 17:36 ` Marius Storm-Olsen
2009-08-18 17:41 ` Johan 't Hart
2009-08-18 18:06 ` Marius Storm-Olsen
2009-08-18 21:53 ` Johannes Schindelin
2009-08-18 22:02 ` Erik Faye-Lund
2009-08-18 22:38 ` Johannes Schindelin
2009-08-18 22:48 ` Erik Faye-Lund
2009-08-19 7:16 ` Johannes Schindelin
2009-08-19 7:29 ` Marius Storm-Olsen
2009-08-19 8:29 ` Johannes Schindelin
2009-08-19 8:56 ` Thomas Berg
2009-08-19 10:59 ` [msysGit] " Marius Storm-Olsen
2009-08-19 12:56 ` Johannes Schindelin
2009-08-19 13:26 ` Marius Storm-Olsen
2009-08-19 14:51 ` Erik Faye-Lund
2009-08-19 13:04 ` Joshua Jensen
2009-08-18 16:51 ` Daniel Barkalow
2009-08-18 17:38 ` Marius Storm-Olsen [this message]
2009-08-17 22:27 ` [PATCH 10/11] Add MSVC Project file Thiago Farina
2009-08-17 22:29 ` Thiago Farina
2009-08-17 22:39 ` Johannes Schindelin
2009-08-17 22:50 ` Thiago Farina
2009-08-17 17:09 ` [PATCH 09/11] Add MSVC porting header files Johannes Schindelin
2009-08-17 19:31 ` Pau Garcia i Quiles
2009-08-17 19:48 ` CMake, was " Johannes Schindelin
2009-08-17 19:51 ` Pau Garcia i Quiles
2009-08-17 19:54 ` Pau Garcia i Quiles
2009-08-17 20:58 ` Johannes Schindelin
2009-08-17 21:03 ` Pau Garcia i Quiles
2009-08-17 21:20 ` Reece Dunn
2009-08-17 21:29 ` Pau Garcia i Quiles
2009-08-17 20:07 ` [msysGit] " Johannes Sixt
2009-08-18 2:15 ` Frank Li
2009-08-18 9:47 ` Johannes Schindelin
2009-08-18 10:42 ` Junio C Hamano
2009-08-18 13:01 ` Johannes Schindelin
2009-08-17 19:21 ` [msysGit] " Johannes Sixt
2009-08-17 17:01 ` [PATCH 08/11] Place __stdcall to correct position Johannes Schindelin
2009-08-18 1:51 ` Frank Li
2009-08-18 9:36 ` Johannes Schindelin
2009-08-17 16:58 ` [PATCH 07/11] Add O_BINARY flag to open flag at mingw.c Johannes Schindelin
2009-08-18 2:02 ` Frank Li
2009-08-18 9:40 ` Johannes Schindelin
2009-08-17 16:51 ` [PATCH 06/11] Add miss git-compat-util.h at regex.c and fnmatch.c Add git-compat-util.h to enable build at MSVC environment Johannes Schindelin
2009-08-17 19:23 ` Johannes Sixt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A8AE707.9010202@gmail.com \
--to=marius@storm-olsen.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=bonzini@gnu.org \
--cc=git@vger.kernel.org \
--cc=kusmabite@googlemail.com \
--cc=lznuaa@gmail.com \
--cc=msysgit@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).