Hello,
Just to say that I can compile the lazarus, load a file and compile the lazarus IDE from withing the IDE
Of course I had to hard-code everything in the lazaruside file, but that is easily solved, I suppose !!
Nice work, Cliff !
Michael.

Mailing lists / lazarus / 1999-05
24 messages · 6 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hello,
Just to say that I can compile the lazarus, load a file and compile the lazarus IDE from withing the IDE
Of course I had to hard-code everything in the lazaruside file, but that is easily solved, I suppose !!
Nice work, Cliff !
Michael.
Is there any info anywhere that could help me understand the compiler interface or how to…
BTW thanx for the code nice work I have to look to see how you did it.
Cliff
Is there any info anywhere that could help me understand the compiler interface or how to…
Yes that would be very nice but I could not find any examples of doing this either. I looked at some
windows stuff but it was doing the same thing I did. There are some units like compiler.pp in the CVS source directory that
is supposed to be able to do this.
Peter told me to look at the the text based ide which is in the CVS also.
Cliff
That sounds fine with me. I will work on these things. What is glade? I have seen you…
Yep I am running both KDE and GNOME. All of our stuff is built on top of GTK+ that means that it does not require either desktop to run but it will run equally well on both.
Glade is a visual forms designer written in C and is a full up and running visual layout tool. Glade saves it's project file in XML format. I am hammering away at a XML parser built wit the unit scan.pp. The idea is to integrate our IDE with glade. This should allow us to get to rad status very quickly indeed. The layout engine is a part that would take us many moons of programming but if I can incorporate glade we should be able to do something substantial very quickly.
BTW I run the IDE in a different directory than the source that I am compiling. I have a shortcut to the build IDE. Once I feel it is stable I copy it to my running directory. The stuff that I am doing will be plugged into a event handler so feel free to make changes as you go.
The GTK site ww.gtk.org will be of much help.
I can send you a binary rpm for glade if you wish it is around 600k...
Cliff
Ok here goes. If you do not mind or wish to work on it we need a good way to do the…
That sounds fine with me. I will work on these things.
What is glade? I have seen you guys talking about it, but that is the first I have heard of it.
Also, has anyone ever discussed supporting KDE (in addition to GTK) with FPC? Just curious since KDE seems to be pretty popular.
Curtis
Curtis... I will send you what I have for a ide at the moment if you want it. I would…
That sounds great. Just let me know what you want me to do with it and I will get going on it right away.
OK. I will start using it as soon as you send it to me. In the mean time, I am going to try to get connected to CVS by following the how-to 0.6 that I found in the mail list archives.
Curtis
That sounds fine with me. I will work on these things. What is glade? I have seen you…
Curtis White wroteAlso, has anyone ever discussed supporting KDE (in addition to GTK) with FPC? Just curious since KDE seems to be pretty popular.
Yes, wait and see... ;-)
I've talked with Florian about this topic, because KDE/Qt support would be easier with some compiler extensions (support of C++ linking, perhaps C++ class support in FPC). If this won't be realised soon there it will be necessary to use C++ -> C wrappers and fpc units for interfacing this wrapper libraries.
- Sebastian
Why do you call the commandline compiler? It's possible to include the compiler in the…
Is there any info anywhere that could help me understand the compiler interface or how to include it in another program? I would like to do this.
Curtis
Why do you call the commandline compiler? It's possible to include the compiler in the…
Cliff,
I finally got FPC all setup and working. I got the latest version of GTK compiled. I even managed to compile the FPC compiler itself :-)
Now I have a bunch of questions about Lazarus.
I have the Lazarus source code from the web site. What do I need to do to get
going from here?
What IDE are you guys using?
How do I get Lazarus to compile (which unit do I need to compile first)?
Are you all using a single CVS somewhere or do you just manage your own sources
with CVS on your local machines?
What should I start working on?
Sorry for all the stupid questions, but I am at a point now where I don't know
what to do next to get started.
Thanks...Curtis
Curtis... I will send you what I have for a ide at the moment if you want it. I would…
Cliff,
OK, I have everything setup and working. I am connected to CVS now. I downloaded the latest CVS source and compiled the compiler and all the RTL and other support files.
I have also managed to compile the files you sent me (lazaruside). It seems to be working fine. I can open all the source files in the ide. I am still working to get lazaruside to compile itself, but I think that is just a path setting.
So, what changes do you want me to work on?
How are you all deciding who does what and what to do next?
Curtis
just compile 'lazarus.pp' Check the development page of FPC how to connect to the CVS.…
> How do I get Lazarus to compile (which unit do I need to compile > first)? just compile 'lazarus.pp'
I tried this and it gave me a very strange error. First, it showed me all these messages in another langeuage (it looks like German). I don't know why I am not getting them in English, but I can't read German, so I don't know what they say. Does anyone know how to get the compiler messages to display in English?
The final messages when it stops compiling are:
Panic : Internal compiler error, exiting.
lazarus.pp(29,7) Fatal: Internal error 9999Check the development page of FPC how to connect to the CVS. And then use 'lazarus' as module
I found the how-to 0.6 listed in the mail list archives. I am going to follow it and get connected to CVS now.
Curtis
Just to say that I can compile the lazarus, load a file and compile the lazarus IDE from…
I Just about got the application config file working so that hard coding will not be necessary any longer!
Cliff
Yes, but a XML parser would be much nicer.
The same unit I use for source coloring should be able to tokenize and manipulate the XML whithout even blinking.
The unit is generic I just pass it keywords and chars to parse.
Cliff
Curtis... I will send you what I have for a ide at the moment if you want it. I would…
I've already got it working once with the 0.3.5 version of glade. But didn't update after that version becuase of the gtk 1.0 - gtk 1.1
The code is available in the gtk/glade/ directory
Peter
I finally got FPC all setup and working. I got the latest version of GTK compiled. I even…
Curtis...
I will send you what I have for a ide at the moment if you want it. I would really like your assistance in further development of this ide I am working on. It will compile source code but I have not quite got the config stuff full up and running. I was using a class called TIni and was having trouble doing multiple think its a compiler issue but will reproduce the problem and send if to the guys. I am taking a look at glade which is a gtk IDE builder that is actually pretty cool. I might be able to use it to produce pascal output.
This IDE that I have is written very flat with a lot of global suff declared in it. I will push this to a better defined structure in the future.
Let me know if you want my source. I will send it in a zip you can compile this and use it to keep developing. It at least has a color syntax editor.
Cliff
I see some C source code in there is this what you mean? were yo modifying glade to…
I see some C source code in there is this what you mean? were yo modifying glade to produce pascal output?
Yes, but a XML parser would be much nicer.
Just to say that I can compile the lazarus, load a file and compile the lazarus IDE from…
you wroteI Just about got the application config file working so that hard coding will not be necessary any longer!
Why do you call the commandline compiler? It's possible to include the compiler in the editor itself. Including it is faster and allows you to get the line info from the messages more easily so source tracking can be build
I've already got it working once with the 0.3.5 version of glade. But didn't update after…
I see some C source code in there is this what you mean? were yo modifying glade to produce pascal output?
Cliff
Just to say that I can compile the lazarus, load a file and compile the lazarus IDE from…
Peter,
I just took the quickest route to the solution for now.
I will look into that soon.
Cliff
I finally got FPC all setup and working. I got the latest version of GTK compiled. I even…
just compile 'lazarus.pp'
Check the development page of FPC how to connect to the CVS. And then use 'lazarus' as module
Peter
OK, I have everything setup and working. I am connected to CVS now. I downloaded the…
Ok here goes.
If you do not mind or wish to work on it we need a good way to do the configuration startup and etc on the IDE that I sent you. In the ideinit is the stuff I wrote so far to save application settings for the IDE. We need to be able to save the stuff unit search paths, library paths and we also need to come up with a initial project file. The project file will contain the stuff such as the compiler settings etc. If you can assume this stuff I will work on the XML parser so that we can use glade output to build pascal source. The unit scan.pp is a lexical tokenizer. I use it to color the source and plan on using it for the XML parser. As for who works on what it is pretty loose. A bunch of the guys are working on a class structure that wraps GTK. I plan on using that library to build the source from the Glade XML. You will also have to build a compiler setting window to configure the paths etc. If you do not wish to work on that just let me know and we can find other things for you....
Cliff
Is there any info anywhere that could help me understand the compiler interface or how to…
the main units for the compiler including are 'compiler.pas' and 'comphook.pas'. But as you already stated, you can best take a look at the textmode ide (it's in fpcompil.pas)
But the basics are very simple:
in compiler.pas there is a function 'Compile()' just call it like you start from the commandline.
compiler.compile('-Tlinux -Fu~/pp/rtl/linux filename.pas'); { this will load ppc386.cfg }
or use an other trick (which is used by the text ide to overcome the 255 char limit):
compiler.compile('[fp.cfg] -g filename.pas');this will load fp.cfg instead of ppc386.cfg, and you can still add switches to the commandline.
Now the hooking in the ide works with the comphook.pas.
this unit has a global variable, status which holds the latest information about the current source postion and errorcount, etc.
and contains some procvars which can be assigned:
do_comment
do_status
do_stop
do_internalerror
these van be assigned by your own routines.
the important ones are 'do_stop' which normally calls halt(1), which you ofcourse don't want ;), just an empty procedure will be enough.
do_status is called for every line that has been scanned, you need to add a check for, run every .. lines yourselves, this is mainly there for progress info
do_comment is the main output routine, which gets a verbosity level and a string. the main use is to check if the level matches the current settings, and then output it to the screen or more in IDE style, add it to a listbox.
To only get fpcompil.pas with cvs type:
cvs -z3 co ide/text/fpcompil.pas
Peter
Yes that would be very nice but I could not find any examples of doing this either. I…
Thanks, Peter, for the excellent explanation.
I had to work 15 hours today at work so I didn't get a chance to work on the IDE tonight. I will see if I can get the compiler implemented and the config files fixed tomorrow evening when I get home from work (assuming I don't have another 15 hour day tomorrow).
Thanks...Curtis
Thanx, very good job of explaining that we should be able to fiugre it out from there.
Cliff