1. compiling euphoria 4.0

I tried to compile euphoria 4.0 under windows xp, following instruction from the wiki but I got this error at the
wmake -f makefile.wat clean

makefile.wat(52): Error(E32): Opening file (config.wat): No such file or directory Error(E02): Make execution terminated

Jacques d.

new topic     » topic index » view message » categorize

2. Re: compiling euphoria 4.0

jacques Deschênes said...

I tried to compile euphoria 4.0 under windows xp, following instruction from the wiki but I got this error at the
wmake -f makefile.wat clean

You need to run configure.bat. The only useful thing it does right now is to possibly set up an install prefix--which IIRC, is only really needed if you either don't have EUDIR set, or if you want to install somewhere other than EUDIR.

Matt

new topic     » goto parent     » topic index » view message » categorize

3. Re: compiling euphoria 4.0

Matt Lewis said...
jacques Deschênes said...

I tried to compile euphoria 4.0 under windows xp, following instruction from the wiki but I got this error at the
wmake -f makefile.wat clean

You need to run configure.bat. The only useful thing it does right now is to possibly set up an install prefix--which IIRC, is only really needed if you either don't have EUDIR set, or if you want to install somewhere other than EUDIR.

Matt

now I have this error

c:\eu40\include\text.e:68 export has not been declared export function sprint(object x)

jacques d.

new topic     » goto parent     » topic index » view message » categorize

4. Re: compiling euphoria 4.0

jacques Deschênes said...

now I have this error

c:\eu40\include\text.e:68 export has not been declared export function sprint(object x)

Ah. Since the standard libraries use many new features, it's no longer possible to compile with an old binary (and since there's been no official release yet, there's no way to build with just a compiler). Jeremy has recent binaries up here:

http://jeremy.cowgar.com/eubins/

Matt

new topic     » goto parent     » topic index » view message » categorize

5. Re: compiling euphoria 4.0

Matt Lewis said...
jacques Deschênes said...

now I have this error

c:\eu40\include\text.e:68 export has not been declared export function sprint(object x)

Ah. Since the standard libraries use many new features, it's no longer possible to compile with an old binary (and since there's been no official release yet, there's no way to build with just a compiler). Jeremy has recent binaries up here:

http://jeremy.cowgar.com/eubins/

Matt

Great! It's what I needed. Thanks! Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: compiling euphoria 4.0

.zip file's are for Windows, .tar.gz for Linux and there is a eu40osx-???.tar.gz that is of course for OS X. The Linux builds are built automatically twice a day. The windows and os x builds are done on a periodic basis manually.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

7. Re: compiling euphoria 4.0

Jeremy Cowgar said...

.zip file's are for Windows, .tar.gz for Linux and there is a eu40osx-???.tar.gz that is of course for OS X. The Linux builds are built automatically twice a day. The windows and os x builds are done on a periodic basis manually.

Jeremy

Where can i get the most recent Eu v4, with all the bells and whistles, right now?

My neighbor is getting worse about harrassing me, the internet costs money i could be spending on getting out of the usa faster.

Kat

new topic     » goto parent     » topic index » view message » categorize

8. [OT] Re: compiling euphoria 4.0

Kat said...

...spending on getting out of the usa faster.

Kat

Ehr, what? Why?

Kenneth / ZNorQ

new topic     » goto parent     » topic index » view message » categorize

9. Re: [OT] compiling euphoria 4.0

ZNorQ said...
Kat said...

...spending on getting out of the usa faster.

Kat

Ehr, what? Why?

Kenneth / ZNorQ

Mostly to do with the legal system here: i have no property rights, the neighbor's dogs run everything, i cannot legally defend myself from them even with words to the effect of "go home!", no one will hire me, my words mean nothing because humans equate "spinal cord injury" with "brain dead". I can't even get lawn mowing companies to mow my yard, while they do mow neighbor's yards. The local library would prefer i not check out books, because they "know" i can't read them (altho one librarian claimed i had memorised all of Unauthorised Windows 95 as someone read it to me, page numbers and contents included).

The neighbor has been turning dogs loose on me for 10 years, on my property, and two judges told him not to, that he was breaking the law, but he still does it. After court last week, he climbed my fence to break off a toothpick deep in the driveway gate padlock. Tonite, he has a huge trash fire out there, even tho we are still in a fire alert, and it's illegal to burn trash anyhow, and it's also against the land covenants, and ADEM previously cited him for it twice. The smoke is so bad it occasionally causes me a trip to the emergency room, and i have no insurance (all that money was spent on lawyers). They routinely trespass, and take down a portion of my fence on my property, and the DA's office will prosecute ME if i videotape my property to get evidence against him.

Last court case, last week, the neighbor said under oath 3x that it took a 1200ft/sec bullet 3 sec to travel 75ft, she said her daughter heard and saw everything that went on that day but the daughter said she was asleep on the couch with the tv on and saw nothing, and the neighbor said the dog was loose with no fence and no leash when i shot at it on my property as it lunged at me. Yet i am the one in trouble. I was also told by the DA's office i cannot use a stick, a rock, a loud voice, a camera with a flash, or pepper spray to defend myself on my property from a dog known to come after me. Or i'd be in more trouble. And 2 judges said they will not look at video of the dogs on my property attacking me.

Life may not be better anywhere else, but i hear it is better in Canada, and the middle of the oceans. At least i'll be self-reliantly portable in a boat.

Kat

new topic     » goto parent     » topic index » view message » categorize

10. Re: [OT] compiling euphoria 4.0

Kat said...
ZNorQ said...
Kat said...

...spending on getting out of the usa faster.

Kat

Ehr, what? Why?

Kenneth / ZNorQ

Mostly to do with the legal system here: i have no property rights, the neighbor's dogs run everything, i cannot legally defend myself from them even with words to the effect of "go home!", no one will hire me, my words mean nothing because humans equate "spinal cord injury" with "brain dead". I can't even get lawn mowing companies to mow my yard, while they do mow neighbor's yards. The local library would prefer i not check out books, because they "know" i can't read them (altho one librarian claimed i had memorised all of Unauthorised Windows 95 as someone read it to me, page numbers and contents included).

The neighbor has been turning dogs loose on me for 10 years, on my property, and two judges told him not to, that he was breaking the law, but he still does it. After court last week, he climbed my fence to break off a toothpick deep in the driveway gate padlock. Tonite, he has a huge trash fire out there, even tho we are still in a fire alert, and it's illegal to burn trash anyhow, and it's also against the land covenants, and ADEM previously cited him for it twice. The smoke is so bad it occasionally causes me a trip to the emergency room, and i have no insurance (all that money was spent on lawyers). They routinely trespass, and take down a portion of my fence on my property, and the DA's office will prosecute ME if i videotape my property to get evidence against him.

Last court case, last week, the neighbor said under oath 3x that it took a 1200ft/sec bullet 3 sec to travel 75ft, she said her daughter heard and saw everything that went on that day but the daughter said she was asleep on the couch with the tv on and saw nothing, and the neighbor said the dog was loose with no fence and no leash when i shot at it on my property as it lunged at me. Yet i am the one in trouble. I was also told by the DA's office i cannot use a stick, a rock, a loud voice, a camera with a flash, or pepper spray to defend myself on my property from a dog known to come after me. Or i'd be in more trouble. And 2 judges said they will not look at video of the dogs on my property attacking me.

Life may not be better anywhere else, but i hear it is better in Canada, and the middle of the oceans. At least i'll be self-reliantly portable in a boat.

Kat

Holy st.. And after all that, you still have some strength left to debate 'goto'.. :)

Good luck anyway, Kat.

Kenneth / ZNorQ

new topic     » goto parent     » topic index » view message » categorize

11. Re: compiling euphoria 4.0

Kat said...
Jeremy Cowgar said...

.zip file's are for Windows, .tar.gz for Linux and there is a eu40osx-???.tar.gz that is of course for OS X. The Linux builds are built automatically twice a day. The windows and os x builds are done on a periodic basis manually.

Where can i get the most recent Eu v4, with all the bells and whistles, right now?

Go to the url above, and get the latest windows binary. Then check out the trunk from sourceforge's svn:

$ svn co https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk eu40

And you should be able to build using Watcom (once you've put the binary into your path).

Matt

new topic     » goto parent     » topic index » view message » categorize

12. Re: compiling euphoria 4.0

Matt Lewis said...
Kat said...
Jeremy Cowgar said...

.zip file's are for Windows, .tar.gz for Linux and there is a eu40osx-???.tar.gz that is of course for OS X. The Linux builds are built automatically twice a day. The windows and os x builds are done on a periodic basis manually.

Where can i get the most recent Eu v4, with all the bells and whistles, right now?

Go to the url above, and get the latest windows binary. Then check out the trunk from sourceforge's svn:

$ svn co https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk eu40

And you should be able to build using Watcom (once you've put the binary into your path).

Matt

Matt, I have seen your posts earlier in the thread, so you know he is running Windows. It seems you don't realise that for Windows users the command line tools are not recommended and are rather hard to find. Please post binary locations for SVN here. In the meantime, Jaques will need to get TortoiseSVN at http://tortoisesvn.net/ which is gui based. He can check out directly with this URL:

https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk

Often it doesn't matter but I find it is best to make sure the include directory is the same revision as the binaries you have downloaded. Then you can update the source subdirectory to the latest and compile the sources. Once the soruces are compiled you can copy the binaries to your path and update the whole trunk to the 'HEAD' revision.

Perhaps someone can put a link in the docs where it talks about compiling to this thread until the documentation is updated.

Caution: If you use spaces in the path or use an file system other than vfat or ntfs you may have problems compiling the DOS version.

Shawn Pringle

new topic     » goto parent     » topic index » view message » categorize

13. Re: compiling euphoria 4.0

Shawn Pringle B.Sc. said...
Matt Lewis said...

Go to the url above, and get the latest windows binary. Then check out the trunk from sourceforge's svn:

$ svn co https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk eu40

And you should be able to build using Watcom (once you've put the binary into your path).

Matt, I have seen your posts earlier in the thread, so you know he is running Windows. It seems you don't realise that for Windows users the command line tools are not recommended and are rather hard to find. Please post binary locations for SVN here. In the meantime, Jaques will need to get TortoiseSVN at http://tortoisesvn.net/ which is gui based. He can check out directly with this URL:

https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk

I heartily disagree. The command line version isn't hard to find at all (no less than tortoise). I find the command line much easier to use, too (that includes under windows, where I started using svn). Of course, we both gave the same url. I recommend them all the time. With Tortoise, it's much easier to use mistakes. Especially if you've never worked with source control software before. I've had to clean up the mess that Tortoise makes several times.

Shawn Pringle B.Sc. said...

Often it doesn't matter but I find it is best to make sure the include directory is the same revision as the binaries you have downloaded. Then you can update the source subdirectory to the latest and compile the sources. Once the soruces are compiled you can copy the binaries to your path and update the whole trunk to the 'HEAD' revision.

Yes, if you have a mixed version tree, you're asking for trouble, and if you have problems, will likely be told to make sure the entire thing is up to date.

Matt

new topic     » goto parent     » topic index » view message » categorize

14. Re: [OT] compiling euphoria 4.0

Kat said...
ZNorQ said...
Kat said...

...spending on getting out of the usa faster.

Kat

Ehr, what? Why?

Kenneth / ZNorQ

Mostly to do with the legal system here: i have no property rights, the neighbor's dogs run everything, i cannot legally defend myself from them even with words to the effect of "go home!", no one will hire me, my words mean nothing because humans equate "spinal cord injury" with "brain dead". I can't even get lawn mowing companies to mow my yard, while they do mow neighbor's yards. The local library would prefer i not check out books, because they "know" i can't read them (altho one librarian claimed i had memorised all of Unauthorised Windows 95 as someone read it to me, page numbers and contents included).

The neighbor has been turning dogs loose on me for 10 years, on my property, and two judges told him not to, that he was breaking the law, but he still does it. After court last week, he climbed my fence to break off a toothpick deep in the driveway gate padlock. Tonite, he has a huge trash fire out there, even tho we are still in a fire alert, and it's illegal to burn trash anyhow, and it's also against the land covenants, and ADEM previously cited him for it twice. The smoke is so bad it occasionally causes me a trip to the emergency room, and i have no insurance (all that money was spent on lawyers). They routinely trespass, and take down a portion of my fence on my property, and the DA's office will prosecute ME if i videotape my property to get evidence against him.

Last court case, last week, the neighbor said under oath 3x that it took a 1200ft/sec bullet 3 sec to travel 75ft, she said her daughter heard and saw everything that went on that day but the daughter said she was asleep on the couch with the tv on and saw nothing, and the neighbor said the dog was loose with no fence and no leash when i shot at it on my property as it lunged at me. Yet i am the one in trouble. I was also told by the DA's office i cannot use a stick, a rock, a loud voice, a camera with a flash, or pepper spray to defend myself on my property from a dog known to come after me. Or i'd be in more trouble. And 2 judges said they will not look at video of the dogs on my property attacking me.

Life may not be better anywhere else, but i hear it is better in Canada, and the middle of the oceans. At least i'll be self-reliantly portable in a boat.

Kat

Maybe you have some interest on this:

http://www.tbotech.com/dog-repeller.htm

http://www.bio-defend.com/catalog.aspx?catID=DogRepellent

http://www.petpetsupplies.com/dazar-ii-ultrasonic-dog-deterrent.html

-Fernando

new topic     » goto parent     » topic index » view message » categorize

15. Re: compiling euphoria 4.0

Matt Lewis said...
Shawn Pringle B.Sc. said...

Matt, I have seen your posts earlier in the thread, so you know he is running Windows. It seems you don't realise that for Windows users the command line tools are not recommended and are rather hard to find. Please post binary locations for SVN here. In the meantime, Jaques will need to get TortoiseSVN at http://tortoisesvn.net/ which is gui based. He can check out directly with this URL:

https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk

I heartily disagree. The command line version isn't hard to find at all (no less than tortoise).

I will also add that for a new person, it is much easier to give instructions for command line and to follow instructions for the command line. For instance:

Type:

C:\ > svn co http://xyz.com/trunk xyz 
C:\ > cd xyz 
C:\xyz > config.bat 
C:\xyz > wmake -f makefile.wat 
C:\xyz > xyz.exe 

vs. something such as:

Click on Start > Programs > Tortoise. Once the dialog loads, select File > Check out. In the URL field enter: ... ... ...

The console tools are highly recommended by most people I know for reasons above and many, many, many more.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

16. Re: compiling euphoria 4.0

Shawn Pringle B.Sc. said...

Matt, I have seen your posts earlier in the thread, so you know he is running Windows. It seems you don't realise that for Windows users the command line tools are not recommended and are rather hard to find. Please post binary locations for SVN here.

Oh, I forgot to include the location, http://www.collab.net/downloads/subversion/

To get there, I went to the Subversion home page: http://subversion.tigris.org/ then clicked on the link in the middle of the page (Get Subversion) that is titled "Windows Binaries". That takes you to another download page. Now from there they show all the platform binaries and have the Windows binaries highlighted (all appear on one page). I am not sure why they make you choose windows twice, but it's still pretty easy to follow. Now, I did see on the main page links to GUI clients, such as Tortoise, Subclipse, RapidSVN, Visual SVN, etc... for a new person, which one? Each has it's own benefit, but the console version is the standard. When people ask for SVN help on IRC, I can give detailed and accurate instructions for the command line. If they are using a GUI version, I refer them to their own docs because they are all different.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

17. Re: compiling euphoria 4.0

Jeremy Cowgar said...
Matt Lewis said...
Shawn Pringle B.Sc. said...

Matt, I have seen your posts earlier in the thread, so you know he is running Windows. It seems you don't realise that for Windows users the command line tools are not recommended and are rather hard to find. Please post binary locations for SVN here. In the meantime, Jaques will need to get TortoiseSVN at http://tortoisesvn.net/ which is gui based. He can check out directly with this URL:

https://rapideuphoria.svn.sf.net/svnroot/rapideuphoria/trunk

I heartily disagree. The command line version isn't hard to find at all (no less than tortoise).

I will also add that for a new person, it is much easier to give instructions for command line and to follow instructions for the command line. For instance:

Type:

C:\ > svn co http://xyz.com/trunk xyz 
C:\ > cd xyz 
C:\xyz > config.bat 
C:\xyz > wmake -f makefile.wat 
C:\xyz > xyz.exe 

vs. something such as:

Click on Start > Programs > Tortoise. Once the dialog loads, select File > Check out. In the URL field enter: ... ... ...

The console tools are highly recommended by most people I know for reasons above and many, many, many more.

Jeremy

I can't disagree more. Oh well, perhaps.

They decrease productivity a lot, because it is far easier to type a couple things in the right fields (and there may be a dropdown of latest entries) which you point and ckick than typing it all on the cmd line. Plus, the need to remember or learn an environment which is never ever used in any other context. Not to mention some issues at time with scrolling the console text back.

Command line is more flexible, for sure, but it more often helps making mistakes than getting things done.

About the tortoise mess: the only area where I have seen this is conflict resolution; the builtin facility doesn't always do what you'd expect. Are cmdline tools any better for that? I have my doubts.

CChris

new topic     » goto parent     » topic index » view message » categorize

18. Re: compiling euphoria 4.0

Currently, the latest revision that can be compiled is 906.

new topic     » goto parent     » topic index » view message » categorize

19. Re: compiling euphoria 4.0

Shawn Pringle said...

Currently, the latest revision that can be compiled is 906.

907 works fine for me, thanks. But it entailed updating makefile.wat, and I didn't touch Makefile. , as I cannot test it. This is most likely the problem you got (there is a new convert.e source file that needs being mentioned at various places).

By the way, I noticed that other build files for Borland/LCC/DJGPP have got quite out of sync. Can anyone (RDS?) look into this?

CChris

new topic     » goto parent     » topic index » view message » categorize

20. Re: compiling euphoria 4.0

CChris said...

I can't disagree more. Oh well, perhaps.

They decrease productivity a lot, because it is far easier to type a couple things in the right fields (and there may be a dropdown of latest entries) which you point and ckick than typing it all on the cmd line. Plus, the need to remember or learn an environment which is never ever used in any other context. Not to mention some issues at time with scrolling the console text back.

Command line is more flexible, for sure, but it more often helps making mistakes than getting things done.

About the tortoise mess: the only area where I have seen this is conflict resolution; the builtin facility doesn't always do what you'd expect. Are cmdline tools any better for that? I have my doubts.

To each his own, of course. One reason I like the command line is that there's never a question of "did I click the right thing?" I can read my command history (and review the command before hitting enter) at any time. I can also easily view differences, etc, right there.

The most common things I type are:

svn up  
svn diff 
svn ci 
svn st 
...which are update, difference, commit and status, respectively. I suppose that if you live in windows explorer, tortoise would seem more convenient. I lose a lot more productivity by having to reach for the mouse than typing something on the command line.

Matt

new topic     » goto parent     » topic index » view message » categorize

21. Re: compiling euphoria 4.0

Shawn Pringle said...

Currently, the latest revision that can be compiled is 906.

What's your environment? I just built 908 just fine (linux).

Matt

new topic     » goto parent     » topic index » view message » categorize

22. Re: compiling euphoria 4.0

CChris said...

I can't disagree more. Oh well, perhaps.

They decrease productivity a lot, because it is far easier to type a couple things in the right fields (and there may be a dropdown of latest entries) which you point and ckick than typing it all on the cmd line.

I think this is a matter of what you are use to. If you never work in a command line client then I can see it being slower. I can also see that if you use a console all the time, that a GUI would be pretty slow. I personally can get things out on the keyboard 100x faster than on the mouse. I dread my mouse and only use it when I have to (which really isn't that much).

Anyway, text or GUI is something that will be debated for a long time and probably no one is right. I'd just leave it at that. To say that the console decreases productivity a lot, though, is, um, pretty misleading. It would be interesting to have a race between a die hard GUI user and a die hard text user. Who can check out a project, compile it, make a change, commit and run a demo program first. My money would be on the console user blink but... is green prettier than blue? Solve that and you may have a chance of solving text or GUI.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

23. Re: compiling euphoria 4.0

Matt Lewis said...
Shawn Pringle said...

Currently, the latest revision that can be compiled is 906.

What's your environment? I just built 908 just fine (linux).

Matt

There are times when the includes must be the same version as the binary. When previously EUPHORIA implemented functions are converted into builtins, if you update the source and includes then you cannot compile.

On the other hand this time between 906 and 907, the include directory had to be updated with the source directory. So, I was trying to compile 907 and got an error: convert.e not found.

So, there are two things you need to try. Normally, I update the source first. Compile and then update the rest. That has worked since the 700 series.

The makefile doesn't update the rev.e file when needed because rev.e's rule doesn't have the dependency set in the makefile. One has to delete rev.e after each svn update.

Shawn Pringle

Shawn Pringle

new topic     » goto parent     » topic index » view message » categorize

24. Re: compiling euphoria 4.0

Shawn Pringle B.Sc. said...

Caution: If you use spaces in the path or use an file system other than vfat or ntfs you may have problems compiling the DOS version.

Shawn Pringle

The DOS version should compile on ext2 (via the ext2fs driver for WNT). Can you confirm, Shawn?

new topic     » goto parent     » topic index » view message » categorize

25. Re: compiling euphoria 4.0

CChris said...

By the way, I noticed that other build files for Borland/LCC/DJGPP have got quite out of sync. Can anyone (RDS?) look into this?

CChris

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I could not find the DJGPP Makefile, btw. Does it just use the unix Makefile?

new topic     » goto parent     » topic index » view message » categorize

26. Re: compiling euphoria 4.0

Jim C. Brown said...

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I personally would vote for dropping BCC. i.e. it's aging and it's no longer produced. Version 5.5 is the last version and there will never be a newer version.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

27. Re: compiling euphoria 4.0

Jeremy Cowgar said...
Jim C. Brown said...

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I personally would vote for dropping BCC. i.e. it's aging and it's no longer produced. Version 5.5 is the last version and there will never be a newer version.

Jeremy

I also would vote against it. It was never opened up, it is proprietary and and there are no bug fixes or updates available for it afaik. There are also some dirty hacks in the interpreter source code that are required to work around deficincies in the free Borland compiler.

new topic     » goto parent     » topic index » view message » categorize

28. Re: compiling euphoria 4.0

Jim C. Brown said...
CChris said...

By the way, I noticed that other build files for Borland/LCC/DJGPP have got quite out of sync. Can anyone (RDS?) look into this?

CChris

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I could not find the DJGPP Makefile, btw. Does it just use the unix Makefile?

It uses djgex.bat and djlib.bat instead.

CChris

new topic     » goto parent     » topic index » view message » categorize

29. Re: compiling euphoria 4.0

Jim C. Brown said...
Jeremy Cowgar said...
Jim C. Brown said...

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I personally would vote for dropping BCC. i.e. it's aging and it's no longer produced. Version 5.5 is the last version and there will never be a newer version.

Jeremy

I also would vote against it. It was never opened up, it is proprietary and and there are no bug fixes or updates available for it afaik. There are also some dirty hacks in the interpreter source code that are required to work around deficincies in the free Borland compiler.

I agree. I think we should stick with gcc and openwatcom.

new topic     » goto parent     » topic index » view message » categorize

30. Re: compiling euphoria 4.0

CChris said...
Jim C. Brown said...
CChris said...

By the way, I noticed that other build files for Borland/LCC/DJGPP have got quite out of sync. Can anyone (RDS?) look into this?

CChris

I thought we were definitely dropping support for Borland and maybe dropping support for LCC.

I could not find the DJGPP Makefile, btw. Does it just use the unix Makefile?

It uses djgex.bat and djlib.bat instead.

CChris

DJGPP is really a special case of gcc, and can probably be made to use the unix Makefile. I'll work on this in a little bit.

new topic     » goto parent     » topic index » view message » categorize

31. Re: compiling euphoria 4.0

Jim C. Brown said...
Shawn Pringle B.Sc. said...

Caution: If you use spaces in the path or use an file system other than vfat or ntfs you may have problems compiling the DOS version.

Shawn Pringle

The DOS version should compile on ext2 (via the ext2fs driver for WNT). Can you confirm, Shawn?

Yes, it does.

You should make configure.bat do the equivalent of:

if sequence( dir(".svn") ) then 
    puts( fd, "SVNDIR=.svn\n" ) 
else 
    puts( fd, "SVNDIR=svn~1\n" ) 
end if     

And then put $(SVNDIR) as the dependency for rev.e. That will ensure the binaries will report the correct svn number at start up no matter which file system you are using.

new topic     » goto parent     » topic index » view message » categorize

32. Re: compiling euphoria 4.0

Shawn Pringle said...

The makefile doesn't update the rev.e file when needed because rev.e's rule doesn't have the dependency set in the makefile. One has to delete rev.e after each svn update.

Shawn Pringle

Shawn Pringle

Hello Double Shawn,

I originally had it set up so rev.e was deleted every time and consequently int.ex and ec.ex and backend.ex had to be rebuild every single time, even if the svn wasn't updated.

revget.ex is now set up so that rev.e is updated only if the svn version has actually changed. Just need a way to ensure that the svn_rev target is always called unconditionally (for GNU make there is the .PHONY target).

new topic     » goto parent     » topic index » view message » categorize

33. Re: compiling euphoria 4.0

Shawn Pringle said...

You should make configure.bat do the equivalent of:

if sequence( dir(".svn") ) then 
    puts( fd, "SVNDIR=.svn\n" ) 
else 
    puts( fd, "SVNDIR=svn~1\n" ) 
end if     

And then put $(SVNDIR) as the dependency for rev.e. That will ensure the binaries will report the correct svn number at start up no matter which file system you are using.

Where is svn~1 or .svn referenced in makefile.wat / configure.bat? Can you point me to a line number?

new topic     » goto parent     » topic index » view message » categorize

34. Re: compiling euphoria 4.0

Matt Lewis said...

I heartily disagree. The command line version isn't hard to find at all (no less than tortoise). I find the command line much easier to use, too (that includes under windows, where I started using svn). Of course, we both gave the same url. I recommend them all the time. With Tortoise, it's much easier to use mistakes. Especially if you've never worked with source control software before. I've had to clean up the mess that Tortoise makes several times.

And I have a different experience to Matt's. I find the commandline version confusing and I find the Tortoise interface simple. I have never had to clean up a mess that Tortoise has made because it has never made a mess for me ... and I use it many times every day for many projects, not just Euphoria.

Just for the record smile

new topic     » goto parent     » topic index » view message » categorize

35. Re: compiling euphoria 4.0

Jeremy Cowgar said...

The console tools are highly recommended by most people I know for reasons above and many, many, many more.

But there are exceptions blink

new topic     » goto parent     » topic index » view message » categorize

36. Re: compiling euphoria 4.0

Jim C. Brown said...

I originally had it set up so rev.e was deleted every time and consequently int.ex and ec.ex and backend.ex had to be rebuild every single time, even if the svn wasn't updated.

revget.ex is now set up so that rev.e is updated only if the svn version has actually changed. Just need a way to ensure that the svn_rev target is always called unconditionally (for GNU make there is the .PHONY target).

This works when using the GNU makefile, but it doesn't seem to for OpenWatcom. I haven't investigated the reason. revget.ex should be running every time, but it's supposed to be smart enough to figure out if it really needs to update anything, or if it can just leave rev.e the way it is.

Matt

new topic     » goto parent     » topic index » view message » categorize

37. Re: compiling euphoria 4.0

Derek Parnell said...

And I have a different experience to Matt's. I find the commandline version confusing and I find the Tortoise interface simple. I have never had to clean up a mess that Tortoise has made because it has never made a mess for me ... and I use it many times every day for many projects, not just Euphoria.

Just for the record smile

Just to be clear, (though I'm not naming any names) they were the messes that others made.

Matt

new topic     » goto parent     » topic index » view message » categorize

38. Re: compiling euphoria 4.0

Matt Lewis said...
Derek Parnell said...

And I have a different experience to Matt's. I find the commandline version confusing and I find the Tortoise interface simple. I have never had to clean up a mess that Tortoise has made because it has never made a mess for me ... and I use it many times every day for many projects, not just Euphoria.

Just for the record smile

Just to be clear, (though I'm not naming any names) they were the messes that others made.

TortoiseSVN n00bs. The worst! grin

new topic     » goto parent     » topic index » view message » categorize

39. Re: compiling euphoria 4.0

Jim C. Brown said...

Where is svn~1 or .svn referenced in makefile.wat / configure.bat? Can you point me to a line number?

I think the biggest problem is that it isn't referenced at all. Take a look at line 578 in makefile.wat. That's where revget.ex is called, but it doesn't reference any dir. It seems to me that the correct way to handle this is to add the .svn, and have the euphoria code adjust if it can't find it. Or, possibly, add a configure option. Either automatically detect it, or make the user tell us with something like with-fat, or whatever the troublesome filesystem is.

Matt

new topic     » goto parent     » topic index » view message » categorize

40. Re: compiling euphoria 4.0

Matt Lewis said...
Jim C. Brown said...

Where is svn~1 or .svn referenced in makefile.wat / configure.bat? Can you point me to a line number?

I think the biggest problem is that it isn't referenced at all. Take a look at line 578 in makefile.wat. That's where revget.ex is called, but it doesn't reference any dir.

That was a recent change. I did that in order to fix the issue with .svn vs svn~1 - instead of being told, revget.ex is smart enough to figure it out on its own now.

Matt Lewis said...

It seems to me that the correct way to handle this is to add the .svn, and have the euphoria code adjust if it can't find it. Or, possibly, add a configure option. Either automatically detect it, or make the user tell us with something like with-fat, or whatever the troublesome filesystem is.

Matt

Thats my point. revget.ex should be detecting the right value automatically now.

new topic     » goto parent     » topic index » view message » categorize

41. Re: compiling euphoria 4.0

Jim C. Brown said...
Matt Lewis said...
Jim C. Brown said...

Where is svn~1 or .svn referenced in makefile.wat / configure.bat? Can you point me to a line number?

I think the biggest problem is that it isn't referenced at all. Take a look at line 578 in makefile.wat. That's where revget.ex is called, but it doesn't reference any dir.

That was a recent change. I did that in order to fix the issue with .svn vs svn~1 - instead of being told, revget.ex is smart enough to figure it out on its own now.

Matt Lewis said...

It seems to me that the correct way to handle this is to add the .svn, and have the euphoria code adjust if it can't find it. Or, possibly, add a configure option. Either automatically detect it, or make the user tell us with something like with-fat, or whatever the troublesome filesystem is.

Matt

Thats my point. revget.ex should be detecting the right value automatically now.

But don't you see that doesn't matter? Make will look at rev.e and see if it needs to be updated because it is correctly listed as an indirect dependency of the interpreter but since there are no dependencies revget.ex never gets called by make.

You need a dependency:

 
rev.e : .\$(SVNDIR)\entries 
	$(EX) revget.ex 

I was trying to build on a non-Microsoft file system. The value .svn is also svn~1 on any Microsoft file system but on my third party driver it doesn't do that.

Try this:

mkdir .foo 
dir foo~1 
 El volumen de la unidad E es TEMP 
 El número de serie del volumen es: 50B3-8A45 
 
 Directorio de E:\foo~1 
 
16/07/2008  09:27    <DIR>          . 
16/07/2008  09:27    <DIR>          .. 
               0 archivos              0 bytes 
               2 dirs     372.240.384 bytes libres 
 

foo~1 is like a directory hard-link to .foo. It will not appear in the dir list but you can access it like a hidden directory.

I finally gave up and went with FAT for my development. For some good reasons people didn't like that my configure script was written in EUPHORIA. So, I ported over this part to Batch. Put this after the first line in configure.bat:

if exist svn~1  echo SVNDIR=svn~1 >> config.wat 
if not exist svn~1 echo "Warning:  DOS build impossible on some non-Microsoft file systems." 
if not exist svn~1 echo SVNDIR=.svn >> config.wat 

I tested the configure script and the modified makefile on both file systems. Makefile then does the right thing.

It works.

new topic     » goto parent     » topic index » view message » categorize

42. Re: compiling euphoria 4.0

Shawn Pringle said...
No One said...

Thats my point. revget.ex should be detecting the right value automatically now.

But don't you see that doesn't matter? Make will look at rev.e and see if it needs to be updated because it is correctly listed as an indirect dependency of the interpreter but since there are no dependencies revget.ex never gets called by make.

To be annoyingly pendantic, that is technically a separate issue from what was originally discussed.

Shawn Pringle said...

You need a dependency:

 
rev.e : .\$(SVNDIR)\entries 
	$(EX) revget.ex 

I was trying to build on a non-Microsoft file system. The value .svn is also svn~1 on any Microsoft file system but on my third party driver it doesn't do that.

The reason I did not want to add .svn\entries or svn~1\entries as a dependency was because anything in a .svn dir is subject to change. It is possible for svn 1.5 to get rid of the entries file for working copies and replace it with something completely different. More realistically, 1.5 might add a new field (such as a time for when 'svn update' was last run by the user) which could cause the timestamp on the entries file to be updated even though the svn revision hadn't changed.

I want to keep all of that logic (the svn specific stuff) in revget.ex itself. Less breakage that way when things finally break.

I finally thought of a way to fix this for the watcom makefile. Add a couple of dependencies to 'all' (and/or various other targets): rev_check, which is always called and deletes a file called rev.txt, and rev.txt, which calls revget.ex and then creates an empty file called rev.txt

This is pretty hacked, though. Maybe it is possible to get away with just adding svn_rev as a direct dependency of all.

new topic     » goto parent     » topic index » view message » categorize

43. Re: compiling euphoria 4.0

No One said...

Thats my point. revget.ex should be detecting the right value automatically now.

Is there any problem with just creating rev.e every time?

new topic     » goto parent     » topic index » view message » categorize

44. Re: compiling euphoria 4.0

Jim C. Brown said...
Shawn Pringle said...
No One said...

Thats my point. revget.ex should be detecting the right value automatically now.

But don't you see that doesn't matter? Make will look at rev.e and see if it needs to be updated because it is correctly listed as an indirect dependency of the interpreter but since there are no dependencies revget.ex never gets called by make.

To be annoyingly pendantic, that is technically a separate issue from what was originally discussed.

Shawn Pringle said...

You need a dependency:

 
rev.e : .\$(SVNDIR)\entries 
	$(EX) revget.ex 

I was trying to build on a non-Microsoft file system. The value .svn is also svn~1 on any Microsoft file system but on my third party driver it doesn't do that.

The reason I did not want to add .svn\entries or svn~1\entries as a dependency was because anything in a .svn dir is subject to change. It is possible for svn 1.5 to get rid of the entries file for working copies and replace it with something completely different. More realistically, 1.5 might add a new field (such as a time for when 'svn update' was last run by the user) which could cause the timestamp on the entries file to be updated even though the svn revision hadn't changed.

I want to keep all of that logic (the svn specific stuff) in revget.ex itself. Less breakage that way when things finally break.

I finally thought of a way to fix this for the watcom makefile. Add a couple of dependencies to 'all' (and/or various other targets): rev_check, which is always called and deletes a file called rev.txt, and rev.txt, which calls revget.ex and then creates an empty file called rev.txt

This is pretty hacked, though. Maybe it is possible to get away with just adding svn_rev as a direct dependency of all.

Yes, replacing all references to rev.e in dependecy lists with svn_rev appears to fix this. Nice and easy.

I'll commit as soon as SF.net allows it again, but Jeremy has some important changes so there may be a conflict. :(

new topic     » goto parent     » topic index » view message » categorize

45. Re: compiling euphoria 4.0

Derek Parnell said...
No One said...

Thats my point. revget.ex should be detecting the right value automatically now.

Is there any problem with just creating rev.e every time?

It is annoying to have to rebuild the interpreter from eusource every time one does a make. This was worse back when I had to use /dINT_CODES and the build process took 8x as long.

OTOH we relink exw/exwc everytime wmake is called, unconditionally, and no one appears to be complaining about that. (It happens so fast that you may not notice unless you are especially looking for it, though.)

new topic     » goto parent     » topic index » view message » categorize

46. Re: compiling euphoria 4.0

Jim C. Brown said...

OTOH we relink exw/exwc everytime wmake is called, unconditionally, and no one appears to be complaining about that. (It happens so fast that you may not notice unless you are especially looking for it, though.)

I'll raise my hand now and complain smile

Jeremy

new topic     » goto parent     » topic index » view message » categorize

47. Re: compiling euphoria 4.0

Jeremy Cowgar said...
Jim C. Brown said...

OTOH we relink exw/exwc everytime wmake is called, unconditionally, and no one appears to be complaining about that. (It happens so fast that you may not notice unless you are especially looking for it, though.)

I'll raise my hand now and complain smile

Jeremy

Symbolic target: interpreter_objects is a dependency for the interpreter.

That's why it is linked every time. It should be easy to fix.

new topic     » goto parent     » topic index » view message » categorize

48. Re: compiling euphoria 4.0

Shawn Pringle said...

Symbolic target: interpreter_objects is a dependency for the interpreter.

That's why it is linked every time. It should be easy to fix.

Any advice? I tried merging interpreter_objects directly into exw.exe and exwc.exe and removed the .SYMBOLIC bit, to no effect.

new topic     » goto parent     » topic index » view message » categorize

49. Re: compiling euphoria 4.0

Derek Parnell said...
No One said...

Thats my point. revget.ex should be detecting the right value automatically now.

Is there any problem with just creating rev.e every time?

Yes. It means that even if you only change some backend c file, everything has to be retranslated and recompiled. It's better to only call the translator if something in the front end changes. But revget.ex should be called every time no matter what, and it should be making the decision about whether rev.e needs to be updated. If the timestamp on rev.e is newer than the binaries, it will trigger a new translation, even if the contents are identical.

This works correctly using the GNU makefile. It does not under watcom because none of the targets rely upon the svn_rev target. It should probably be added to the builddirs target, which they all pretty much rely on. That way it will be called, and the updating will occur correctly.

Matt

new topic     » goto parent     » topic index » view message » categorize

50. Re: compiling euphoria 4.0

Jim C. Brown said...
Shawn Pringle said...

Symbolic target: interpreter_objects is a dependency for the interpreter.

That's why it is linked every time. It should be easy to fix.

Any advice? I tried merging interpreter_objects directly into exw.exe and exwc.exe and removed the .SYMBOLIC bit, to no effect.

I think the key is the int.lbc file, which should probably be created when the translator is run. And int.lbc should be added as a dependency for building the interpreter.

Matt

new topic     » goto parent     » topic index » view message » categorize

51. Re: compiling euphoria 4.0

Jeremy Cowgar said...
CChris said...

I can't disagree more. Oh well, perhaps.

They decrease productivity a lot, because it is far easier to type a couple things in the right fields (and there may be a dropdown of latest entries) which you point and ckick than typing it all on the cmd line.

I think this is a matter of what you are use to. If you never work in a command line client then I can see it being slower. I can also see that if you use a console all the time, that a GUI would be pretty slow. I personally can get things out on the keyboard 100x faster than on the mouse. I dread my mouse and only use it when I have to (which really isn't that much).

Anyway, text or GUI is something that will be debated for a long time and probably no one is right. I'd just leave it at that. To say that the console decreases productivity a lot, though, is, um, pretty misleading. It would be interesting to have a race between a die hard GUI user and a die hard text user. Who can check out a project, compile it, make a change, commit and run a demo program first. My money would be on the console user blink but... is green prettier than blue? Solve that and you may have a chance of solving text or GUI.

Jeremy

I use the tool for the job.

  • If at keyboard, use keyboard.
  • If at mouse, use mouse.

    Unkmar rant begins
    Most things I do will be faster by me than someone else trying to accomplish the same task. For any task that I can use the keyboard or mouse and appear to be repetative for me, I try to learn both. I can aquire the Device manage through several methods. If my hand is on the mouse, then I might right click "My computer, Properties" If at the keyboard, Hold down that special key (Super Key) between the Alt and Ctrl Keys and press the Pause key. Those are just 2 examples. Some times I highlight by mouse, other times by Shift+ Navigation (Arrows, Home, End, PgUp, PgDn). Sometimes I Right click, copy And paste, Others Ctrl+C, Ctrl+V. It depends on where my hands are on what I do. It also depends on where I intend for my hands to be. I can pull up console via Mouse, however it is much faster to just use Super+R, That pulls up the Run prompt, then type CMD [Enter]. Another reason to learn so many methods. Sometimes certain things might not be available. ALT+CTRL+DEL disabled for accessing the Task Manager? Or remotely viewing? Pull up command prompt and execute taskmgr. Don't the registry editor showing in the recent or commonly used tasks? Don't want it in the MRU of the Run Prompt? Command prompt,C:\> regedit. Need to run, msconfig but don't want it in the MRU? Command prompt, C:\> start msconfig. I have hundreds of these things memorized. How? It isn't hard. Really simple. Learn one at a time over time. They add up. If I use it often, then it is easy to learn it. Move to the next one. I control Winamp by keyboard. Usually by the special Multimedia keys of my keyboard. But I'm not always using my keyboard. So I set it to make use of Global keys, I use the defaults in most all cases and Simply memorize. ALT+CTRL+Up Arrow. Increase Volume. ALT+CTRL+Right Arrow, Skip forward in song. ALT+CTRL+PgDn, Next Song. ALT+CTRL+Home, Toggle Pause. ALT+CTRL+End Stop. ALT+CTRL+Insert Start/Play. Unfortunatley, Mute is not mapped by default. sad
    Unkmar rant ends

    PS: Creole Parse bug. This shouldn't be indented. <ul> isn't being closed until end of document OR in this case, when it reached the ident (:) of my signature.

Lucius L. Hilley III - Unkmar

new topic     » goto parent     » topic index » view message » categorize

52. Re: compiling euphoria 4.0

Unkmar said...

PS: Creole Parse bug. This shouldn't be indented. <ul> isn't being closed until end of document OR in this case, when it reached the ident (:) of my signature.

I'm sorry Lucius, but this is not a bug. It is working as specified.

The reason it indented is because a list is ended by a BLANK line (or end of document, and a couple of other conditions) but in your post you did not have a blank line at the end of the two intended list items. You had...

* item 1 
* item 2\\\\ 
**A bold 'subheading'**\\ 
Start of next sentence... 

Note that the double slash is not a blank line, it is a line break. To get the effect you were after you needed to have typed ...

* item 1 
* item 2\\ 
 
**A bold 'subheading'**\\ 
Start of next sentence... 

See...

  • item 1
  • item 2

A bold 'subheading'
Start of next sentence...

Creole Markup

I really should finish documenting the creole markup. It will be in the wiki page.

new topic     » goto parent     » topic index » view message » categorize

53. Re: compiling euphoria 4.0

Sorry, for this really late reply but I have been busy with other things.

We should have a .ERROR command list directive:

.ERROR <TAB> if not exists config.wat echo "Please run config.bat"

Putting a symbolic target like svn_rev in all of the dependencies means everything will be rebuilt each time. In general if something is remade for any reason any other target that depends on it is also remade. This is also why the link happens every time.

The makefile sometimes runs make in order to set objdir and some other macros. Normally the user will try to make a target whose rule will call make with objdir set to some value. You can put another make line in each of interpreter, backend, library, etc of the form of:

make -f makefile.wat svn_rev

or you can use the .BEFORE directive:

.BEFORE <TAB> $(EX) ./revget.ex

The first method is more typing but you will see revget.ex probably only once. The second method you will see it so many times you might decide to use an @ character to make it invisible.

interpreter_objects can be replaced with the multiple target : intobj\int.lbc dosobj\int.lbc remove the .SYMBOLIC symbol from the dependencies.

Shawn Pringle

new topic     » goto parent     » topic index » view message » categorize

54. Re: compiling euphoria 4.0

SDPringle said...

Putting a symbolic target like svn_rev in all of the dependencies means everything will be rebuilt each time. In general if something is remade for any reason any other target that depends on it is also remade. This is also why the link happens every time.

Yes, it does run revget.ex, but rev.e is not always recreated. revget.ex checks the file to see if it appears out of date, which is defined as having an earlier revision number than the working copy.

Matt

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu