From: Carl E. C. <cc...@ie...> - 2005-06-28 02:58:11
|
Quoting Michalis Kamburelis <mk...@po...>: > Carl Eric Codere wrote: >> Quoting Michalis Kamburelis <mk...@po...>: >> >>> Hi >>> >>> Various things: >>> >>> I created a page in wiki about how I imagine making a pasdoc release: >>> [http://pasdoc.sipsolutions.net/ReleaseMaking]. When I'll get permissio= n >>> to do pasdoc 0.9.0 file releases, this documents exactly what I'm going >>> to do for the targets that I will be handling. >> Yes, there should no longer be any batch file and any shell script >> to compile >> apsdoc, at least the console version. >> Greetings, I looked at your changes in the makefile and I like them very mu= ch, excellent cleanup work, but I have a few quirks: 1) mkdir does not work under the NT Command shell, even if the MingW mkdir is in the path, since mkdir is an internal 4NT/NT Shell command it always override the mingw version. It may be better in that case to simply call mkdir and simpl= y ignore the return code, no? I modified it, if you don't like it, don't hesitate to find a better solution. 2) The process unit is only available for a very limited number of targets, this implementation will probably break on several targets, i hacked away and le= ft process available only for linux and Win32... I need to test if the application will still work for other targets (tomorrow evening i will test this). I successfully cross-compiled to GO32V2/BeOS/Amiga with your makefile and a= lso compiled using Delphi, it seems to work, I need to test the executables though.... I will try to see if the thing still compiles under VPC tomorrow, and update the makefile accordingly... The fun thing when testing with different compilers= is that you find problems that you would not otherwise find. > > Exactly: *no*. This is unbreakable rule for me: when user downloads > pasdoc sources from CVS, he must be able to compile pasdoc with simple As seen above you have convinced me, as long as the only thing i need to override is FPC_DEFAULT! ;) > Ability to compile with various compilers and compiler versions is sure > a good thing, and it should be available. Sure, if you want to use > different compilers and compiler versions then it's nice to use > different output directory for each target (although it's not really > necessary). I agree with you here. However, your Makefile always sets > BINDIR to bin and OUTDIR to lib, so actually it doesn't help me if I > really have various compilers for various targets etc. I agree, this should maybe changed, but usually when I prepare releases for= my software, I compile one target at a time... > - -U..\common\src\delphi for Delphi compilation seems to be something > specific for your private needs... > Hehe, forgot to remove it when I added it to the CVS tree... >> Also, contnrs.pas does not exist, what is it? I used version 1.9 to >> compile and >> the unit does not exist... ?? My mistake, seems to work now... Also another interesting thing you might look at, taken from my own makefil= es, that might be quite interesting to automate: =09echo const REVISION_STR =3D '$(VERSION)'; > .\src\version.inc =09echo const BUILDDATE_STR =3D '$(DATESTR)'; >> .\src\version.inc =09echo const COMPILER_NAME =3D 'Freepascal' ; >> .\src\version.inc =09echo const PLATFORM_STR =3D 'go32v2' ; >> .\src\version.inc This automatically generates a version included in the compilation, no need= to modify the source, actually it could be replaced by the $VERSION variable s= et at the start of the makefile. Finally another interesting, even though not widely used is to include a PA= D file with the package description in the distribution package, I also have = a small crazy script to update automatically the script from a master PAD fil= e: # Modify the pad file for this system sed -e "s/<Primary_Download_URL>/<Primary_Download_URL>$(DOWNLOAD_URL_SED)$(FINAL_= FILENAME_SED)-dos16\.zip/g" master_pad_file.xml > pad_file1.xml sed -e "s/<Program_OS_Support>/<Program_OS_Support>MS-DOS/g" pad_file1.xml = > pad_file2.xml sed -e "s/<Program_Version>/<Program_Version>$(VERSION_SED)/g" pad_file2.xm= l > pad_file.xml PAD files are not a requirement, but its nice to have somewhere (either in = the distribution file or on the pasdoc side) to include in software cataloging bots... I like your makefile so much that I might adapt it to use in my projects ;) Have a nice evening! -- Carl Eric Cod=E8re Corporate: http://www.optimasc.com Personal: http://www.optimasc.com/users/carl |