1. Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 13, 2015
- 2419 views
I've been working on a new guide. It's Still a little raw. Feedback is welcome.
2. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by ryanj Sep 13, 2015
- 2314 views
I've been working on a new guide. It's Still a little raw. Feedback is welcome.
xecronix, thanks for working on documentation! We need more people getting involved like you.
P.S. Ewww, i hate C syntax.
3. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by ghaberek (admin) Sep 14, 2015
- 2275 views
I've been wrapping C libraries for a long time now. Do you mind if I have a crack at updating your article?
I might end up making a lot of changes due to my style of wrapping, so I wanted to ask before I went around hacking it all to pieces.
-Greg
4. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 14, 2015
- 2291 views
I've been wrapping C libraries for a long time now. Do you mind if I have a crack at updating your article?
That would be Awesome! Thanks in advance for the help. I would just like to make 2 requests:
- If you feel like the "ext" directory should be removed for some reason, that we have a dialog about that please.
- The project is hosted on github and if possible I'd like help keep the project and the guide in sync. Do you have a github login?
5. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 14, 2015
- 2273 views
xecronix, thanks for working on documentation! We need more people getting involved like you.
Thanks, I enjoy writing them as I learn a lot in the process. I hope they're helpful to others. I'm already working on Part 2 of this series. The next guide is going to freshen up and repackage someone else's wrapper. (with permission of course) The new guide will:
- Have a look at wrapping up callbacks
- We'll be exploring much more of the poke and peek functions
- Data size discussion
- libhelper.e will be expanded on a bit more.
- Whatever else pops up during the effort.
In part 3 I plan to wrap up an open source sound lib from scratch.
I'm debating as to whether or not I'm going to write a part 4. But whatever I do after Part 3 will likely continue to build on the previous tools and guides.
6. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by ghaberek (admin) Sep 14, 2015
- 2408 views
If you feel like the "ext" directory should be removed for some reason, that we have a dialog about that please.
I do, at least, feel it should be renamed. So we'll need to discuss that. The name "ext" seems ambiguous to me.
Here is my typical project structure. It's a little more complicated but these parts can mixed in and out as necessary.
build/ - translated files (*.c, *.h, *.mak)
demo/ - demos/examples (*.ex)
dist/ - distribution files (*.zip)
docs/ - documentation (*.html, etc.)
include/ - include files (*.e)
resources/ - static resources (*.png, etc.)
src/ - project source files (*.ex)
test/ - unit testing files (t_*.e)
Makefile - the Makefile to translate and build the application
Lately I have been using Makefiles with TDM-GCC mingw32-make to build, test, and package Euphoria projects in one go.
I've had it in my head for a while to write an article titled "Using Makefiles for fun and profit!" so maybe this is a good opportunity to expand on that.
The project is hosted on github and if possible I'd like help keep the project and the guide in sync. Do you have a github login?
I do! Same username as on here: ghaberek. I already found you and started looking at your project for this.
-Greg
7. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 14, 2015
- 2276 views
Here is my typical project structure. It's a little more complicated but these parts can mixed in and out as necessary.
build/ - translated files (*.c, *.h, *.mak)
demo/ - demos/examples (*.ex)
dist/ - distribution files (*.zip)
docs/ - documentation (*.html, etc.)
include/ - include files (*.e)
resources/ - static resources (*.png, etc.)
src/ - project source files (*.ex)
test/ - unit testing files (t_*.e)
Makefile - the Makefile to translate and build the application
This directory is PERFECT for building an application of almost any type. So, let's say you were building a program like Mysql Workbench except that it was for EDS. This is exactly how I'd hope the directory structure would be laid out. The only thing missing is in your example is the eu.cfg.
I would propose that if you are building a wrapper then your target "audience" is different and they have a different set of concerns. In this case I'm speaking of the difference between writing an application vs writing a library. The problem domain is similar, but not necessarily identical.
Lately I have been using Makefiles with TDM-GCC mingw32-make to build, test, and package Euphoria projects in one go.
I've had it in my head for a while to write an article titled "Using Makefiles for fun and profit!" so maybe this is a good opportunity to expand on that.
I for one would be super excited to see this article. I'm in the process of integrating make into an automated test suite and perhaps a package manager and would love to see your thoughts on using make.
I do! Same username as on here: ghaberek. I already found you and started looking at your project for this.
Awesome. When I published the guide, I didn't think that someone else might want to be involved. So I didn't publish the creole doc that is the actual article. I corrected that earlier today when I added guide_part1.creole to the project. Please git pull if you don't have that file.
8. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by ghaberek (admin) Sep 14, 2015
- 2244 views
The only thing missing is in your example is the eu.cfg.
I guess that sort of went without saying. I use eu.cfg a lot. You'd actually need several files, one in each of demo, src, and test to point them all back to include.
I would propose that if you are building a wrapper then your target "audience" is different and they have a different set of concerns. In this case I'm speaking of the difference between writing an application vs writing a library. The problem domain is similar, but not necessarily identical.
Yes and no, I suppose. I look at everything as a project. A library wrapper project should have include (obviously) and probably test for sanity checking. But it might also contain bin for the compiled binaries and maybe src for the original source of the C library. And you'll probably have demos in there, too. So you can see how it all starts to come together. That's what I just did for libxlsxwriter.
I for one would be super excited to see this article. I'm in the process of integrating make into an automated test suite and perhaps a package manager and would love to see your thoughts on using make.
Okay, I will start working on that soon. I already have a lot of notes on the subject but I also have to go through a lot of trial-and-error to get things distilled down for the end-programmer who's not already familiar with make. It's a very dynamic system with rarely a single "right" way to do things.
To be honest, what I'm really doing here is building the basic foundation for the way an IDE or any other build system would manage a project structure. I've taken a lot of cues from other languages and IDEs and I am hopeful that this can become and integral part of the way Euphoria programmers design their applications.
-Greg
9. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 14, 2015
- 2241 views
To be honest, what I'm really doing here is building the basic foundation for the way an IDE or any other build system would manage a project structure. I've taken a lot of cues from other languages and IDEs and I am hopeful that this can become and integral part of the way Euphoria programmers design their applications.
That is actually one of the stated goals of the EuDrop Project. I hope we end up collaborating.
Once command line tools are proven, the next step would be to use the lib to create project plugins for popular IDEs like WEE for example.
10. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by ghaberek (admin) Sep 14, 2015
- 2200 views
That is actually one of the stated goals of the EuDrop Project. I hope we end up collaborating.
Once command line tools are proven, the next step would be to use the lib to create project plugins for popular IDEs like WEE for example.
Speaking of package mangers for Euphoria. I have like the name euget better. Maybe we should have a vote or a naming contest.
I also think this package manager should include all of the functionality described by EuAnyRepo. Why would these be two separate projects?
-Greg
11. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by xecronix Sep 14, 2015
- 2196 views
This discussion has been forked. The new topic subject is "EuAnyRepo vs EuDrop... what's the difference?"
12. Re: Complete Guide to Using DLLs in OpenEuphoria
- Posted by Icy_Viking Sep 18, 2015
- 2119 views
Looks great. This will be a great guide. Hopefully this will help to get more libraries wrapped in Euphoria.