1

Summarization: It is probably better using Scons or Foray (TCBuild) because they can solve Fortran (Fortran 90) dependencies.

========================================

A daily build or nightly build is the practice of each day doing a software build of the latest version of a program.

To daily build a fortran project, it seems that one could use cron, hudson, SCons or Foray(TCBuild). However, analyzing the outcome of cron is not quite straightforward; hudson or Scons is not designed with fortran in mind; Foray(TCBuild) aims at F90. ( Correct me here if I am wrong.)

Meanwhile, FinalBuilder is an excellent building tool for Delphi. I am wondering whether one can utilize FinalBuilder to automate the dailybuilding of a fortran project? I guess the main problem is to solve dependencies?

PS: cron and hudson have been mentioned in the following stackoverflow page:
Best Way of Automating Daily Build

Scons can be found here:
http://www.scons.org/

Foray(TCBuild) has been introduced here
http://macresearch.org/tcbuild-new-build-tool-fortran
and can be fetched here:
http://code.google.com/p/foraytool/

Community
  • 1
  • 1
SOUser
  • 3,802
  • 5
  • 33
  • 63
  • 1
    I'm not using it personally, but as far as scons is concerned, a lot of fortran users swear by (including some of my old work coleagues). As I understand it plays very well with fortran. – Rook Mar 11 '11 at 17:58
  • @Rook: Thanks for your personal experience very much! But the author of Foray (TCBuild) specifically expressed his opinions about using Scons for Fortran? – SOUser Mar 11 '11 at 18:03
  • 1
    I just had one more idea; You should check if GNU has a make tool with fortran dependency checking already written. – Warren P Mar 14 '11 at 16:27
  • @Warren: Indeed fascinating if it exists! I would think the plain `make` cannot solving fortran dependency automatically. Still, I will check (most likely by google). – SOUser Mar 18 '11 at 11:36

4 Answers4

2

I am not using Fortran.

FinalBuilder currently does not have built in action for Fortran.

FinalBuilder can execute anything at that can run via a command prompt and capture the output.

FinalBuilder 6 introduced a new feature which allows you to create Action output monitors. These monitors allow you trigger different behaviors and based on finding specific strings in the output.

Robert Love
  • 12,447
  • 2
  • 48
  • 80
  • Thank you very much for your comments! By `FinalBuilder currently does not have built in action for Fortran. `, I guess the first prerequisite is then to find a parser to solve Fortran dependencies for FinalBuilder? – SOUser Mar 11 '11 at 18:32
  • Furthermore, you mention `These monitors allow you trigger different behaviors and based on finding specific strings in the output. ` . I guess I still have to find a way to map the output msg back to the Fortran source codes? – SOUser Mar 11 '11 at 18:33
  • @Xichen Li: FinalBuilder has built in support for many compliers. However, I don't see any actions for Fortran. I am not familiar enough with Fortran to know how dependencies need to be resolved. – Robert Love Mar 11 '11 at 18:39
  • @Xichen Li: You can save results of the output to Variables which can then be sent to additional Actions, such as a call to a Command Prompt. – Robert Love Mar 11 '11 at 18:41
  • Thank you for your comments very much! It sounds a lot of work to do to use FinalBuilder for Fortran. :D – SOUser Mar 11 '11 at 18:58
2

If you can write a command line or batch file to compile your Fortran program then you can get FinalBuilder to do it too. I used to build my Delphi programs using a command line action because the version of FB that I have only supports up to D2006 "natively" and I haven't upgraded it.

However I now use Ant scripts and Hudson. Works a treat for my Delphi, FreePascal and C programs. Must admit though that I haven't built a Fortran prog for over 20 years so I'm not able to comment on the dependency issues.

shunty
  • 3,699
  • 1
  • 22
  • 27
  • Thanks for your time! It now seems that the prerequsite `If you can write a command line or batch file to compile your Fortran program` is more troublesome than setting FinalBuilder up. :D I mean, it is not easy to solve dependency issues. Not to mention the difference between F77 and F90 regarding dependency detection. If I have to do it myself, it is definitely better to use Foray. – SOUser Mar 13 '11 at 21:43
2

the easiest way is to create a final builder project which calls the compiling script, in addition to all the preparing stuff you have to do: check out, run tests, etc. i use it every day and it works fine and flawlessly.

so it is very simple to use final builder with fortran.

  • Thanks for your comments! It still seems that the most troublesome problem of using FinalBuilder to dailybuild fortran programs is to solve dependencies issues. – SOUser Mar 13 '11 at 21:40
1

I am a big fan of using Final Builder with Delphi or anything that has MSBuild integration (like Visual Studio, C++, C#).

But I would think you would be better off with Hudson (now Jenkins?) for fortran projects, because of the very nice way it lets you deal with artifacts (results), and the way that anybody who has remotely checked in code can queue a build remotely.

I know final builder has a server version too. You should (if you are going to have multiple senior level people checking in and needing to get builds to QA) consider a network based solution (like Hudson/Jenkins, or Final Builder Server).

Secondly, it looks like the tools you are talking about overlap, but don't necessarily preclude each other. YOu could use Hudson plus SCons or ForayBuild, for example. One is more like a "make for fortran", and the other is more of a web interface for triggering your build batch file, which would then launch SCons or something else.

Warren P
  • 65,725
  • 40
  • 181
  • 316