Very Small C Compiler which can generate DLL files?

S

scholz.lothar

I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.
 
J

jacob navia

I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.

lcc-win can be bundled with your application.
You can contact me for prices and conditions.

Mail address:
jacob at jacob point remcomp point fr

P.S. I do eiffel too :)
 
W

Walter Roberson

I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program.

Would it? Is there an external requirement that the extension language
be C? If not, then you could make the extension language something
comparatively simple to parse and build your own tiny compiler for it.
 
H

Harald van Dijk

I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.

I assume by tiny-c you mean tinycc. If so, it is also available for
Windows.
 
G

gavenkoa

I want to add some extension features to my program and this would
require that i bundle a small c compiler with my program. On Unix it
seems that tiny-c can do this, but i don't know about windows.

May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.
 
F

Flash Gordon

Walter Roberson wrote, On 26/05/08 18:48:
Would it? Is there an external requirement that the extension language
be C? If not, then you could make the extension language something
comparatively simple to parse and build your own tiny compiler for it.

Or the OP could use one of the almost-C interpreters which are
embeddable. I have come across at least a couple.
 
S

scholz.lothar

May be to you enough use some scripting language such as `lua', which
engine may be used at runtime from shared lib (about 400 KiB),
available on many platform.

Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.

I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
 
T

thomas.mertes

Thanks, i checked that tinycc is working on windows and can generate
windows-dll's. Thats good. I'm already using lua for some more high
level scripting but some parts are speed critical enough that they
require the full power of compiled code and easy c string operations.

I will check if tinycc works reliable for my use case otherwise i
might
check mingw or contact jacob. Or does anybody know about another small
and free c compiler?
MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
B

Bartc

MinGW is ok, but it has to be determined which files need
to be added to the bundle. AFAIK MinGW needs more than one
*.exe file. There are also such things as header files
and libraries.

My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.
 
T

thomas.mertes

My version of mingw comprises 55MB in some 700 files. I wouldn't exactly
call it small.
The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
B

Bartc

The question is:
How many of this 700 files are necessary to compile a given
bundle you want to release?

I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)
 
J

jacob navia

Bartc said:
I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)

lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is

o a full IDE with windowed debugger
o Project management!make
o linker, assembler,compiler
o librarian, resource editor
o resource compiler
o grep/diff/software metrics
o object file cross reference
o all header files of windows
o Counted string library, statistics
library, extended precision floats,
extended special functions math library,

That is because the philosophy of lcc-win is to produce
small but powerful programs.
 
C

ca1

what about some small lisp dialect. or even wrote one (it's
comp.lang.c)! it would surely be very enlightening.
Abuse has been, for example, written in C and scripting was done
with lisp(-like) language.
source code is available somewhere.
i haven't wrote one myself yet. but it seem you only have to take
care of evaluation ...
 
T

thomas.mertes

lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is
[snip]
AFAICS lcc-win is "free for non-commercial use" which means
that it is not under the GPL. Is this correct?

For Seed7 I use the GPL (and the LGPL for the libraries).
Therefore I would not use anything which is not under the
GPL or annother open source license. Sorry but anything
which contains a phrase like "free for non-commercial use"
is not free enough for me.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
T

thomas.mertes

I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.

Otherwise trawling through the 690 files and 89 directories of mingw might
take a while.

Maybe it is possible to start just with the binary of
gcc (the driver program) and add librarys, include files
and other programs step by step...
(Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)

The full version is gcc + gnu utilities.

From time to time I have requests to release a binary
version of Seed7 for Windows. In such a release the
interpreter (hi) would work without problems, but
the Seed7 compiler (comp) produces C and therefor a
C compiler would be needed also.

For that reason I would prefer a "binary" release which
contains the normal source release + a C compiler (for
windows) in binary form (To avoid any license problems
that C compiler should be under the GPL). A binary make
utility would also be needed.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
B

Bartc

Maybe it is possible to start just with the binary of
gcc (the driver program) and add librarys, include files
and other programs step by step...

Probably this can be done, if you know exactly what source files are being
compiled, otherwise which header and library files do you leave out? And do
you still call the result mingw?

(Mingw isn't as sprawling as I thought: my Windows was reporting "." and
".." as directories; there are more like 30, many of which are empty. So
that makes the 1577 directories of my Ruby installation in reality far
simpler too..)
From time to time I have requests to release a binary
version of Seed7 for Windows. In such a release the
interpreter (hi) would work without problems, but
the Seed7 compiler (comp) produces C and therefor a
C compiler would be needed also.

Perhaps you need an embeddable C compiler too. Makes life simpler for your
users and they wouldn't need to know anything about C at all.
 
J

jacob navia

lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is
[snip]
AFAICS lcc-win is "free for non-commercial use" which means
that it is not under the GPL. Is this correct?

Yes. I do not use anything gplish, and I do not support giving
my work away so that others make money from it.
For Seed7 I use the GPL (and the LGPL for the libraries).
Therefore I would not use anything which is not under the
GPL or annother open source license.

Your choice. You give your work for free. Granted.
But who pays the bills?
> Sorry but anything
which contains a phrase like "free for non-commercial use"
is not free enough for me.

Yes. Your bills are paid by whom?

The GPL is a (mainly) academic construct, that alienates
completely the producer from his/her work without giving
even the compensatory SALARY that he/she would be entitled to.

As a producer, within the GPL schema, you have the right to
NOTHING.

Nothing at all. Not even the right to live from your work.

This can be done if your source of revenues is somewhere else,
in your case in your work elsewhere.

But for all non academic people this is impossible.

I give the binaries for free since at least 10 years. I have been
able to sustain this project with my paying customers.

You do not like it?

Just do not use it and be done with it. There is no point in
attacking people because they try to earn their life. YOU do
not work for free either.
Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.


Greetings Jacob Navia
 
T

thomas.mertes

Bartc wrote:
I've no idea. Maybe somewhere in that a lot is an utility to determine the
minimalistic mingw distribution needed to compile a given application,
ignoring the possibility of the extensions requiring something extra.
Otherwise trawling through the 690 files and 89 directories of mingw might
take a while. (Apparently the 'min' of mingw means minimalistic; I wonder
how big the full version is!)
lcc-win is a 5MB download (compressed). It has the same functionality of
mingw (excluding the C++ support of course). In that 5MB there is
[snip]
AFAICS lcc-win is "free for non-commercial use" which means
that it is not under the GPL. Is this correct?

Yes. I do not use anything gplish, and I do not support giving
my work away so that others make money from it.

Seems that I unintentionally pressed some button.
So you do not use any GNU tool and/or Linux.
Your choice. You give your work for free. Granted.
But who pays the bills?

I pay my bills from money I get as freelancer. Do you have
some project for me (preferably long-term and in vienna)?
Yes. Your bills are paid by whom?

By myself.
The GPL is a (mainly) academic construct, that alienates
completely the producer from his/her work without giving
even the compensatory SALARY that he/she would be entitled to.

As a producer, within the GPL schema, you have the right to
NOTHING.

Nothing at all. Not even the right to live from your work.

This can be done if your source of revenues is somewhere else,
in your case in your work elsewhere.

But for all non academic people this is impossible.

I give the binaries for free since at least 10 years. I have been
able to sustain this project with my paying customers.

Good for you.
Since I am not backed by a company, it would be impossible
to push a new programming language to the marked, when I
would charge for it. Your project works in an existing
marked (windows and C), while Seed7 creates a new marked.
This two projects just cannot be compared.
You do not like it?

Don't be so thin-skinned. I am sure it is great.
I just dont want to include something into the Seed7
package which is not GPL.
Just do not use it and be done with it. There is no point in
attacking people

Where did you read, that I am attacking you?
because they try to earn their life. YOU do
not work for free either.

Well, at least my work for Seed7 is for free.
But in general I like to be paid for my work.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
K

Keith Thompson

(e-mail address removed) wrote: [...]
AFAICS lcc-win is "free for non-commercial use" which means
that it is not under the GPL. Is this correct?

Yes. I do not use anything gplish, and I do not support giving
my work away so that others make money from it.

Seems that I unintentionally pressed some button.
So you do not use any GNU tool and/or Linux.
[...]

Gentlemen, I suggest that this is not the place for a debate about
software licenses.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,434
Messages
2,571,691
Members
48,796
Latest member
Greg L.

Latest Threads

Top