[mapguide-internals] [fdo-internals] build script confusion RFC62???

UV uvwild at gmail.com
Fri Apr 17 00:25:12 EDT 2009


Trevor,

Thanks for pointing this out. I was pondering on this issue already.
I think the inconsistencies are coming from VS building into  
bin/$(Config) and the need to bring the libs together.

The solution to this can be simple as introducing a new target for the 
build and dropping the default target bin\$(Config) for binaries
We can keep the $(Config) part but instead of using the default target
we rearrange the targets according to the new standards.
(I.e we can have build the server into MGDev/Server/Deploy/$(Config)/Bin)

$(config)/bin
$(config)/bin/FDO or $(config)/FDO????
$(config)/Schema
$(config)/Repository
$(config)/....etc...

In the moment the build server fails because the FDO SDK puts the 
binaries in BIN but the build expects them in BIN\$(config)
this is a good example of how to frustrate newbies. So the SDK actually 
does not match what mapguide build expects.
Maybe the best thing is to remove the $(Config) part of the path in the 
mapguide build!?!?!?!
Then we would just overwrite the existing files in MgDev/Oem/FDO/bin and 
add an empty file to identify which config it is!
Due to the identical names this is an option I believe.

In the end the build server uses the solution files. Instead of the mix 
of msbuild and scripts
we could introduce an installation target for a postbuild.mak PostBuild 
project,
This could use either a default relative location or an environment 
variable to deploy the results into the MapGuide build tree.

Once this is established we realign the linux build to do the same.


Trevor Wekel wrote:
> Hi UV,
>
> There is a key difference between a build tree and an install tree that needs to be taken into consideration.  For a build tree, you may have to build four different configurations - 32 bit debug, 32 bit release, 64 bit debug, and 64 bit release.  For the install tree, you will likely only been installing either 32 bit release or 64 bit release.
>
> The server and web extensions also need to be built into separate trees because IIS and Apache need virtual directories to work with and the ajax/fusion viewers need a specific directory layout to find everything they need.
>
> I like the idea of having a common directory structure:
>
> 1.  Copying a bunch of web files to some directory IIS or Apache likes is a hassle.  I know Walt always used to give me trouble about the way the web extensions was laid out.  It would be better if we could just point IIS or Apache at an appropriately laid out directory.
>
> 2. Co-developing MapGuide and Fdo functionality is freaking annoying.  Build Fdo, build -c install Fdo, copy Fdo dlls and headers to where MapGuide wants them, then build MapGuide.  Yuck.   
>
> Can anyone think of other requirements on a common build/install directory structure for MapGuide (server/web) and Fdo?
>
> The following structure isn't right yet but it does introduce some symmetry between components and separates out the different build flavours.  The Web bit is definitely not right from a symmetry argument. All the separate Bin directories make this structure a no-go without setting path variables.  And the question what about Linux? comes to mind.
>
> Release
>   CSMap
>     11g
>     Bin
>     Lib
>     Inc
>     Obj
>   Fdo
>     com
>     Bin
>     Inc 
>     Obj
>       [subprojects]
>     Lib
>   Platform (shared dlls for Server/Web)
>     Bin
>     Inc
>     Lib
>     Obj
>       [subprojects] 
>   Server
>     Bin
>     Lib   
>     Obj
>       [subprojects] 
>     Logs
>     Packages
>     Repositories
>     Resources
>     Schema
>     Wfs
>     Wms
>   Web
>     Apache2 (if built)
>     Php
>     www
>   WebStudio
>     ???
> Debug
>   Fdo
>   Platform
>   Server
>   Web
>   WebStudio
> Release64
> Debug64
>
>
> -----Original Message-----
> From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of UV
> Sent: Thursday, April 16, 2009 4:41 PM
> To: MapGuide Internals Mail List
> Subject: Re: [mapguide-internals] build script confusion RFC62???
>
> thanks, thats the way the decision can be made.
>
> But first people have to agree what needs to be done. In the current 
> situation there are little inconsistencies which make our life hard.
> I am sure the core team has their systems set up long enough that they 
> dont know about these things anymore.
> I do because I struggled hard to get the build running in the first place.
> Trying to get the build server to do this now is pointing out the exact 
> details of where the problems are.
>
>
> Tom Fukushima wrote:
>   
>> Hi UV,
>>
>> The process for RFCs is described on this page: http://mapguide.osgeo.org/psc.html.
>>
>> Is this what you're looking for?
>>
>> Cheers
>> Tom
>>
>>
>> -----Original Message-----
>> From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of UV
>> Sent: Wednesday, April 15, 2009 7:38 PM
>> To: MapGuide Internals Mail List
>> Subject: Re: [mapguide-internals] build script confusion RFC62???
>>
>> Is there a way to initiate as decision process?
>> or do we have to give up on the automated build because no decision can 
>> be made regarding the result of the build?
>> This is needed before any changes can be made.
>>
>> Its not so much todo except to agree on a useful structure for the build 
>> / deploy process.
>> In the moment we have a windows installer, a postbuild.mak and a 
>> build.bat plus Linux makefiles all doing similar but slightly different 
>> things.
>>
>> I think this is a unique opportunity to align some of the 
>> inconsistencies in the build process of mapguide and
>> improve the experience for future contributions.
>>
>> Thats exactly whats CI is for..... making sure such inconcistencies will 
>> never happen again.
>>
>> _______________________________________________
>> mapguide-internals mailing list
>> mapguide-internals at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
>> _______________________________________________
>> mapguide-internals mailing list
>> mapguide-internals at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
>>
>>   
>>     
>
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> fdo-internals mailing list
> fdo-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fdo-internals
>
>   



More information about the mapguide-internals mailing list