From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Curtis Faith <curtis(at)galtair(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Windows Build System |
Date: | 2003-01-27 00:57:43 |
Message-ID: | 200301270057.h0R0vhp21678@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Are there no already-written converters from Makefile to VC project
files?
---------------------------------------------------------------------------
Curtis Faith wrote:
> I (Curtis Faith) previously wrote:
> > > The Visual C++ Workspaces and Projects files are actually
> > > text files that have a defined format. I don't think the format is
> > > published but it looks pretty easy to figure out.
>
> Hannu Krosing replied:
> > will probably change between releases
>
> Even if the format changes, the environment always has a converter that
> updates the project and workspace files to the new format. In other
> words, Visual C++ 6.0 reads 5.0 projects, 7.0 reads 6.0, etc.
>
> The format is mostly a bunch of options specifications (which wouldn't
> get touched) followed by a set of named groups of source files. Even if
> the overall format changes, it will be much more likely to change in the
> specifications rather than the way lists of source file formats are
> specified.
>
> A conversion tool, call it BuildWindowsProjectFile, would only need to:
>
> 1) Read in the template file (containing all the options specifications
> and Visual C++ speficic stuff, debug and release target options,
> libraries to link in, etc.) This part might change with new versions of
> the IDE and would be manually created by someone with Visual C++
> experience.
>
> 2) Read in the postgreSQL group/directory map, or alternately just
> mirror the groups with the directories.
>
> 3) Output the files from the PostgreSQL directories in the appropriate
> grouping according to the project format into the appropriate space in
> the template.
>
> An excerpt of the format follows:
>
> # Begin Group "Access"
> # Begin Group "Common"
> # PROP Default_Filter "cpp;c;cxx"
> # Begin Source File
>
> SOURCE=.\access\common\heaptuple.c
> # End Source File
> # Begin Source File
>
> SOURCE=.access\common\indextuple.c
> # End Source File
>
> ... other files in access\common go here
> # End Group
>
> # Begin Group "Index"
>
> # PROP Default_Filter "cpp;c;cxx"
> # Begin Source File
>
> SOURCE=.\access\index\genam.c
> # End Source File
> # Begin Source File
>
> SOURCE=.access\index\indexam.c
> # End Source File
>
> ... other files in access\index go here
> # End Group
>
> # End Group
>
>
> As you can see, this is a really simple format, and the direct
> folder/group mapping to PostgreSQL directory is pretty natural and
> probably the way to go.
>
> Using the approach I outline, it should be possible to have the Unix
> make system automatically run the BuildWindowsProjectFile tool whenever
> any makefile changes so the Windows projects would stay up to date
> without additional work for Unix developers.
>
> Hannu Krosing also wrote:
> > (also I dont think you can easily compile C source on a
> > C# compiler) ;/
>
> I don't think it makes much sense target a compiler that won't compile
> the source, therefore, if what you say is true, we shouldn't bother with
> targeting C#.
>
> - Curtis
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2003-01-27 01:01:28 | Request for qualified column names |
Previous Message | Tom Lane | 2003-01-27 00:42:14 | Re: Cannot connect to the database (PG 7.3) |