git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Daniel Barkalow <barkalow@iabervon.org>
To: Marius Storm-Olsen <marius@storm-olsen.com>
Cc: Johannes Schindelin <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 14:42:59 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LNX.2.00.0908181420330.7195@iabervon.org> (raw)
In-Reply-To: <4A8AEAF5.6070205@gmail.com>

On Tue, 18 Aug 2009, Marius Storm-Olsen wrote:

> Johannes Schindelin said the following on 18.08.2009 16:11:
> > On Tue, 18 Aug 2009, Marius Storm-Olsen wrote:
> > > 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.
> > 
> > We can also use sed or perl to generate/modify the .vcproj files, or
> > run CMake (once Pau got it to build), and package the stuff using zip
> > (once I got that to build).
> 
> Really? That would be some script being able to parse the Makefile, and create
> something reasonable as a vcproj script :) Keeping all the options in sync,
> conditional files/libs, all the various end executables (a separate .vcproj
> for each of them, and a solution file (.sln)to tie them all together into a ..
> "solution", a complete product blah blah blah) etc.

I think it wouldn't be impossible to split the Makefile into an 
easy-to-parse part and an irrelevant-to-vcproj part. Certainly you don't 
need GNU Make to read a file:

SCRIPT_SH += git-am.sh
SCRIPT_SH += git-bisect.sh

SCRIPT_PERL += git-add--interactive.perl

PROGRAM_NAMES += git-fast-import

BUILTINS_IN_OBJS += add

(etc)

That is, we can probably describe the project sufficiently with a lot of

VAR += value

lines, using only constant values and variables we specify, and then the 
Makefile declares them empty and does an

include UserServicableParts

and puts together the variables it needs. And things that aren't GNU Make 
could also process this file without enormous difficulty, since it's 
essentially a .ini file or java resource file with a stray + on each line. 
Of course, people interested in the vcproj thing would have to update 
whatever makes VC do the right thing when new *rules* are introduced, but 
that's a lot less common than new *files* being introduced, and also more 
obvious (in the sense that the included file is setting variables that the 
builder doesn't know what to do with).

	-Daniel
*This .sig left intentionally blank*

  reply	other threads:[~2009-08-18 18:43 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 [this message]
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
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=alpine.LNX.2.00.0908181420330.7195@iabervon.org \
    --to=barkalow@iabervon.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=bonzini@gnu.org \
    --cc=git@vger.kernel.org \
    --cc=kusmabite@googlemail.com \
    --cc=lznuaa@gmail.com \
    --cc=marius@storm-olsen.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).