|
Post by vovchik on Feb 14, 2014 15:55:31 GMT 1
Dear Peter, Thanks for introducing the new compile scheme. It is really BLINDINGLY fast for recompiles. So, for developers mucking about with little changes in their code, it is perfect. Hats off! With kind regards, vovchik
|
|
|
Post by bitvast on Feb 14, 2014 18:48:51 GMT 1
Yes, big improvement. I love it!
|
|
|
Post by bigbass on Apr 2, 2014 19:46:14 GMT 1
Just a quick note to say there is a new beta to test out I have been using the latest betas to compile all the widgets for Elementary (that are used as stand alone widgets or better known in the Enlightenment window manager) even though we are working on some experimental coding that is not yet part of the official documentation all these widgets are compiling perfectly with your betas I know you get a few complaints when things don't work but I wanted you to know its quiet because everything is working well and a lot of good things to port to BaCon are in progress Joe
|
|
|
Post by konaexpress on Apr 3, 2014 4:43:50 GMT 1
Yea, good job Peter. The new BaCon is really really nice.
John
|
|
|
Post by Pjot on Apr 3, 2014 19:24:49 GMT 1
Thanks for he heads up bigbass Regards Peter
|
|
|
Post by bigbass on Apr 7, 2014 15:05:04 GMT 1
Another beta update is available for testing Vovchik wanted to show me what could be done with the new And he asked me to look at some code from some working code he did for a gtk/gdk bacon popup using SVG and some special alpha channel effects (for the full code example in action ) I reduced his code snippet down to a "generic piece of example code" for documentation purposes to add to the wiki since this isn't official yet we need some way to test out these newly added features that are in the beta releases Here is a pre-official code snippet (For Peter's review of course) if you would like to comment on the snippet or add more details we haven't discovered yet with some of the new things you recently added CMDLINEwiki.basic-converter.org/index.php?title=Bacon_docs#CMDLINENote that CMDLINE("d:t:s") This is generic pass any letter you wish to parse at the command line d t s are only examples so you could see working syntax used Joe
|
|
|
Post by Pjot on Apr 8, 2014 1:56:29 GMT 1
Thanks bigbass, That looks pretty good to me. Basically, the CMDLINE function is a wrapper around the default C 'getopt' functionality. You can find more information in the man pages: man 3 getopt BR Peter
|
|
|
Post by vovchik on Apr 8, 2014 22:15:43 GMT 1
Dear Peter, Thanks very much for CMDLINE. It makes parsing arguments much more standard and easy. And it works as advertised -- and is a real time-saver. With kind regards, vovchik
|
|
|
Post by bigbass on Apr 9, 2014 15:14:19 GMT 1
I was curious about the getop function and wanted to see if I could port the C function to BaCon (just for fun because its built in now ) and the new betas also allow us some extra power that we can PROTO almost any function from any external library This means we could add an unlimited amount of new functionsto BaCon Tech notes: I used this source and Ported /adapted it to BaCon's working syntax and used this option$ = CHR$(option) from vovchik's example for casing strings www.lemoda.net/c/getopt/getopt.cmake sure you rename this with capital letters because there is an command line tool called getopt built in To test compile and run this ./GETOPT -a -b any other options will make an usage error try some out GETOPT.bac
'---how to port the getopt function directly from C
PROTO getopt PROTO optarg '--- notice the "ab" are the only options that are allowed '--- to be passed at the command line in this example
WHILE 1 LOCAL commandline TYPE char
commandline = getopt (argc, argv, "ab") IF commandline == -1 THEN '--- We have finished processing all the arguments. END END IF option$ = CHR$(commandline) SELECT option$
CASE "a" PRINT "User has invoked with -a" CASE "b" PRINT "User has invoked with -b" DEFAULT PRINT "Usage: [-a] [-b]" END SELECT WEND
|
|
|
Post by bigbass on Apr 10, 2014 5:52:50 GMT 1
You may get this error and not understand what to do
There are two ways to solve this The first is Just add the -a option
./bacon -a someapp.bac
or add a new command to the header of your app
PRAGMA BACONLIB then you don't need the -a option
remember this you cant just move the compiled bacon around without knowing what's going on
Now the reason why is a bit detailed Joe
Peter explained it below
|
|
|
Post by bigbass on Apr 10, 2014 14:45:29 GMT 1
When I just started using BaCon I use to use hug.so (I always called it libhug.so to mark a difference with the pre installed hug.so puppylinux used and it made more sense to me to treat it the linux way as a shared library the linker could see if needed) we had a long drawn out discussion about this in 2011 that still may be useful to review some ideas that were expressed so that we wont have to repeat the full experience again www.murga-linux.com/puppy/viewtopic.php?t=69647&start=88Joe UPDATED needed to find some information and WOW what a fine job you are doing with the fossil site! That is really useful and much better to keep track of edits very impressive you have been busy as a beaver fossilrepos.sourceforge.net/srv.fsl/144/timeline?r=trunk
|
|
|
Post by bigbass on Apr 14, 2014 17:44:54 GMT 1
I have been following your betas and only one small suggestion Could you improve this error message maybe such as please use the optional -a flag ./bacon.sh -a someapp.bac or make sure that libbacon.a is in the ldd path or place PRAGMA BACONLIB in the header of your code also I thought that libbacon.a was run time dependency but good news is that it is only a compile time dependency *I was worried that you were going to statically link them at run time I also saw that you merged the bacongui.bac so gtk2 and gtk3 is auto detected and we will need to get used to using bacon.sh instead of bacon.bash Having the fossil site is better than the CHANGES file we can see what is taking place for fun I made some patches just to see what would be the best way to test some ideas (but they are not needed it was just an exercise to try out ) All is looking very good and fast UPDATED maybe something like this # Give some error message if libbacon.a not found
if [ -f libbacon.a ] || [ -f /usr/lib/libbacon.a ] then echo "" echo "libbacon.a found and will use it " echo ""
else echo "" echo " * libbacon.a is NOT found" echo " * please use the optional -a flag ./bacon.sh -a someapp.bac" echo " * or make sure that libbacon.a is in the ldd path " echo " * or place PRAGMA BACONLIB in the header of your code" echo "" fi
Joe
|
|
|
Post by konaexpress on Apr 15, 2014 14:47:41 GMT 1
As a new programmer, I do find the error messages to be a bit cryptic.
John
|
|
|
Post by Pjot on Apr 16, 2014 19:01:42 GMT 1
Hi bigbass,
That kind of code was there before, but I intentionally have removed it.
As mentioned, the idea is that 'libbacon.a' will be available in '/usr/local/lib' or '/usr/lib'. To achieve this, new install packages using autoconf will be created which should make compilation and installation easy.
BaCon has grown from a quick scripted hack towards a full program and should be treated as such - autoconf installpackages for BaCon already exists and will be expanded with the new functionality.
Using autoconf packages, it's just a matter of running './configure', 'make install' to get a complete BaCon install.
Then the 'libbacon.a' library always will be available for each subsequent BaCon compilation.
BR Peter
|
|
|
Post by Pjot on Apr 16, 2014 21:33:34 GMT 1
Hey Bigbass, So the new 3.0 autoconf package is available, hope this fixes it all. It also contains the merged BaConGUI version, by default it will use GTK2, but if you start it with argument "gtk3" or "-gtk3" then it will use GTK3. BR Peter
|
|