1. question on fakebind
- Posted by jbrown105 at speedymail.org Jun 21, 2002
- 400 views
I was wondering, is this legal? I was planning to write a program which would, in effect, emulate RDS's bind.ex from the Complete Edition. My version does NOT use RDS's method, what is does is encapsulate the exu exectutable and a clear-source euphoria program into a loader. This lower writes out exu and the program into temporary files each time it is run, calls exu to run the program, and then removes both temporary files when exu is finished executing. My fakebind program acts more like a self-extracting archive than a true bound program, but I thought it would be best to make sure its allowable before I wrote it. Included is a sample documentation file which goes into detail on how fakebind will work if I get the OK to create it. --CUT HERE-- FAKEBIND ======= A simple toolkit for producing execv() compatible Euphoria scripts. Placing "#! /bin/exu" is not enough for an execv() call, it wants a binary executable to run. So you have 2 options: bind or translate. Only registered users can bind, so that means the unregistered users must get a copy of Euphoria-to-C translator instead (not actually a bad thing, merely an inconvience to those who don't have it). NO MORE! Now, with this toolkit, one can use binder to create a binary program which is runnable via the bindmain loader. Heres how it works (diagram): binder test.ex --> creates test --> contains bindmain, ex[wu], and test.ex test --> binmain runs --> ex[wu] in file1.tmp, test.ex in file2.tmp --> ex[wu] runs test.ex binder will combine all of your files into one, then combine that with the bindmain loader and the euphoria interpreter. When you run your program, bindmain is loaded, and then it will call the interpreter and use it to run your program. NOTE: If you have the complete edition, binder should use pdex[uw] instead of ex[wu] as to avoid giving away the complete edition in the program and violating anyone's licence. If binder does not behave properly tell me and i'll fix it. Differences from the RDS version: Its MUCH larger. No special shrouding: the files are converted into print()'ed strings, but there is no more protection beyond that. Instead of running the interpreter with the program in memory, bindmain will use temporary files to do the dirty work. BUGS: (for the fake-bounded program) Requires that the current directory is writable and has enough free space for the temorary files (should not be a problem in most cases). (for binder) Requires that executable bindmain program is in the current directory. (for bindmain) Need to use Complete Edition Translator instead of PD Translator to get rid of annoying message. Files: README - THIS FILE binder - Linux binder program binder.ex - the source code for binder, should work on all platforms bindmain - Linux bind loader bindmain.ex - source of bindmain, need to use translator to create exectutable file bindhelp.e - include file used by binder.ex and bindmain.ex namespace.e - include file used by binder.ex rebuild - Linux script to auto-translate the bindmain exectutable bmd - subdirectory used by rebuild script etest.ex - source for the test program etest - executable created by binder -- http://fastmail.fm - No WWW (Wait-Wait-Wait) required
2. Re: question on fakebind
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 21, 2002
- 417 views
jbrown writes: > I was wondering, is this legal? I was planning to write a program > which would, in effect, emulate RDS's bind.ex from the Complete > Edition. My version does NOT use RDS's method, what is does is > encapsulate the exu exectutable and a clear-source euphoria > program into a loader. This lower writes out exu and the program > into temporary files each time it is run, calls exu to run the program, > and then removes both temporary files when exu is finished executing. > My fakebind program acts more like a self-extracting archive than > a true bound program, but I thought it would be best to make sure its > allowable before I wrote it. Yes, I would say that it's legal. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com