Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro headers part II

This thread is locked; no one can reply to it. rss feed Print
 1   2   3 
Allegro headers part II
Evert
Member #794
November 2000
avatar

Quote:

I mean, this can't be sooo different, you always end up generating a header, checking for stuff and finally doing some compiling/linking and docs generation...

The difference is in the addons.

Quote:

Regarding the current header situation, don't you consider making some brainstorming on how to improve it?

Personally, I just don't have the time, but feel free to post a realistic workable example of what you have in mind (a vague "change stuff" or very radical design changes without a clear advantage are not likely to be greeted with a great deal of enthusiasm ;))

Quote:

maybe I am more inspired by 'standards' and simplicity;

I think we tend to disagree a bit on what is simpler or "standard". :P

Quote:

There are more things to improve, so we can make some sort of 10 minutes "IRC brainstorming" among people that feel interested in this.

There used to be IRC meetings regularly, I think they're public so you should be able to join one of those if they're still held (I never joined in on any of those).

Thomas Fjellstrom
Member #476
June 2000
avatar

Quote:

There used to be IRC meetings regularly, I think they're public so you should be able to join one of those if they're still held

They are usually held once a month, but people don't always show up or have anything to talk about most recently. Most of the stuff that needed group consensus and brain storming has been done. A lot of whats left is documentation and actually testing it all to make sure it all works now.

That reminds me, we need some form of test suite. I have NO idea what software we should use, or if we should roll our own, or what type of testing methodology we should use... But we do need something. At least where we can test stuff reliably.

Oh and the filesystem functions need to handle unicode properly so the OS gets what it needs, without mangling of the chars... So some stuff left to do...

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Elias
Member #358
May 2000

Quote:

And when I took a look on CMakeLists.txt, I just wonder who said that autotools are arcane and ugly etc.

And I know that some here think the same about SConstruct.. so I guess in the end, we'll have to pick the lesser of 3 evils :P

--
"Either help out or stop whining" - Evert

X-G
Member #856
December 2000
avatar

(One of) the main reason(s) why autotools is a pile of failure is that it's difficult and annoying to make it work on win32, and it simply won't work natively no matter what. :P

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Matěj Týč
Member #9,863
June 2008
avatar

Quote:

(One of) the main reason(s) why autotools is a pile of failure is that it's difficult and annoying to make it work on win32, and it simply won't work natively no matter what.

That's true (except the statement that autotools are a failure :-). But the only thing you have to do in order to ./configure && make && make install on w32 is to... install MSYS and MinGW. If you do that, the rest is a peace of cake that everybody loves (Don't tell me that you don't like that configure script reports and the ablility to configure anything!)

---------------------------------------------------
Mind is like space, it is open, clear and unlimited. -- Ole Nydahl

Thomas Fjellstrom
Member #476
June 2000
avatar

automake and friends are too ugly and annoying to work with, and the configure scripts run too damn slow. Thats my entire opinion.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

X-G
Member #856
December 2000
avatar

The worst part is that the autotools suite is entirely obsolete now that we have SCons; and I don't just mean Allegro, I mean everyone. I see no compelling reason to use autotools anymore.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Thomas Fjellstrom
Member #476
June 2000
avatar

I dunno, from what I've seen Scons isn't any better. Its just some hacked up setup using python. Big deal. M4? Python? Same story.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

X-G
Member #856
December 2000
avatar

At least one of those is actually an established language (and thus a lot more flexible and easy to get help with).

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

SiegeLord
Member #7,827
October 2006
avatar

Quote:

At least one of those is actually an established language (and thus a lot more flexible and easy to get help with).

Unless you detest Python, that is. ;)

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Matěj Týč
Member #9,863
June 2008
avatar

Dear friends,
I have just completed the autotools support for Allegro 4.2.3
It compiles under Linux and it cross-compiles to Windows (with ASM off) if one has mingw and friends.
It passes 'make distcheck', which took quite a lot of work, but now it really supports VPATH builds and read-only source trees, which is cool if one needs it.
The autotools resource files were simplified and beautified, so I think that there won't be any complaints about aesthetic qualities of configure.ac or Makefile.ams. It looks really beautiful if you have a right editor with the right syntax highlighting! (my favourite one is Vim)
Anyway, I attach the checked distribution. I encourage to test it if you can and if there aren't be any complaints, I am going to send patches.
I will also update the wiki page so that everybody can see the advantages of this setup.
As usually, there are some technical details that need to be discussed ;D
(for instance: Library versioning, some program's source code regarding datafiles etc., but that can wait)

So check out the attachement!

---------------------------------------------------
Mind is like space, it is open, clear and unlimited. -- Ole Nydahl

Thomas Fjellstrom
Member #476
June 2000
avatar

There may never be another 4.2 release, you understand that right?

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Elias
Member #358
May 2000

We really should do a 4.4.0 release though - and the main issue stopping that so far was build problems (under OSX). No idea if the new autotools build makes it any easier though..

--
"Either help out or stop whining" - Evert

Trent Gamblin
Member #261
April 2000
avatar

Ya. I say we release 4.9.7 and 4.4.0 at the same time, if possible. I don't have a mac though, so I don't know how realistic that is.

Thomas Fjellstrom
Member #476
June 2000
avatar

What needs done for 4.4? Do we even know?

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Trent Gamblin
Member #261
April 2000
avatar

The todo lists on the wiki are for 4.9 and 4.2 (outdated).. I think the only thing holding it up was the macosx port.

Matěj Týč
Member #9,863
June 2008
avatar

Quote:

There may never be another 4.2 release, you understand that right?

What did you say? How come! Why you haven't told me earlier?! So much of work in vain... :'( AARGH!

Oh wait, now I recall... Someone told me earlier, but I have thought that it was some naive newbie :o

Actually it would be cool if you take a look at it. Then I can submit patches to SVN and start working on support for 4.3+. Since those two setups are going to be extremely similar, it will be highly beneficial if unix users take a look at it.

The most notable changes I have made is introducing of three new directories (for build only):
/build-bin (examples, demo and tools build there),
/build-lib (can be /lib, but I would like to get some makefiles there and I am not sure whether this wouldn't upset somebody) and
/data (Makefiles that care about distribution of datafiles are there. In the future, some Allegro artwork such as wallpapers, logos etc. can go there. pkg-config support lives there as well)

Quote:

No idea if the new autotools build makes it any easier though..

Neither I have a Mac, but of course it should be much better with Autotools 8-)

---------------------------------------------------
Mind is like space, it is open, clear and unlimited. -- Ole Nydahl

LennyLen
Member #5,313
December 2004
avatar

Quote:

Why you haven't told me earlier?!

You were told three times in this thread alone. Including by one of the developers.

Quote:

Oh wait, now I recall... Someone told me earlier, but I have thought that it was some naive newbie

Gee, I wonder who looks like a naive newbie now.

Thomas Fjellstrom
Member #476
June 2000
avatar

Quote:

Oh wait, now I recall... Someone told me earlier, but I have thought that it was some naive newbie

Which one of the developers did you think was a newbie? Peter, Elias, or Evert? ;)

Quote:

Actually it would be cool if you take a look at it. Then I can submit patches to SVN and start working on support for 4.3+. Since those two setups are going to be extremely similar, it will be highly beneficial if unix users take a look

See that we can do. The autotools build for 4.3/4.4 is a mess, and we still intend on supporting autotools for it, unless the cmake and scons guys for 4.9/5.0 decide to redo their build scripts for 4.3 (which I doubt ;)).

I've looked at it a little, and it does seem more organized than the old setup.

Wait, did you say you already have pkg-config support? Can you make a pkg-config setup for 4.9? Pretty please? Basically what we need for 4.9 is a main pkg-config config for the base lib, and one each for each addon. At least I assume thats the best way to set it up. We should be-able to get rid of allegro-config that way.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

BAF
Member #2,981
December 2002
avatar

I'm not impressed with the new build system either, it is all but impossible to compile for MSVC with it. And when I finally did get my hands on a build, nothing worked anyhow (and it wasn't a debug build, so I couldn't see what was happening).

Peter Wang
Member #23
April 2000

Did you do an out-of-source build? Did you copy the DLLs into place? And the data directory for examples?

BAF
Member #2,981
December 2002
avatar

I used binaries provided by another user here on a.cc. DLLs were all in, program would run but then just crash. First crash was due to me not having the data directory in place (when compiling the example in debug mode, the crash was happening within allegro when trying to load the bitmap that didn't exist, which seemed real nice), then after putting it in it just randomly crashed. I can't really give any useful info because I don't have a debug build of the library and, frankly, I don't have the time to mess around trying to get it to build at the moment (too much school work).

Matěj Týč
Member #9,863
June 2008
avatar

Quote:

Wait, did you say you already have pkg-config support?

Muhaha, finally something that seem to interest you! If you condemn scons and cmake, worship autotools, re-introduce global screen pointer to Allegro5 and release it as 4.2.4 release, you can have it :P

Unfortunatelly pkg-config is not very suitable for cross-platform libraries. It can do its job for people that are not interested in cross-compilation. Libtool is much better in this, trust me. Luckily, both can be supported at the same time.

allegro-config is evil and so is AM_PATH_ALLEGRO. They actually do quite a good job if you are not into cross-compilation, but maintaining them is obviously a nightmare.

Second thing, you can use custom compilers. I have tried the intel compiler (you just have to write CC=icc ./configure --disable-asm). It compiles, but it always crashes somewhere. Any hackers here have icc as their compiler of choice? ;)

---------------------------------------------------
Mind is like space, it is open, clear and unlimited. -- Ole Nydahl

Evert
Member #794
November 2000
avatar

Quote:

re-introduce global screen pointer to Allegro5

Sure. When hell freezes over.

Quote:

and release it as 4.2.4 release,

They're not even API compatible, leave alone ABI compatible.

Quote:

allegro-config is evil and so is AM_PATH_ALLEGRO. They actually do quite a good job if you are not into cross-compilation

I don't think allegro-config is supposed to be used for cross compilation.

Quote:

Second thing, you can use custom compilers.

You always could.

Quote:

I have tried the intel compiler (you just have to write CC=icc ./configure --disable-asm). It compiles, but it always crashes somewhere. Any hackers here have icc as their compiler of choice

I think it worked the last time I tried it, which is a couple of years ago. I may have had to use a couple of special compiler switches to make it work though, I don't remember.
I think I had some problems with crashes somewhere in draw_character() (or some such) and recompiling that file alone with gcc things worked properly. There may be something in the mailinglist archives about this, have a look there.

Matěj Týč
Member #9,863
June 2008
avatar

Quote:

re-introduce global screen pointer to Allegro5
...
Sure. When hell freezes over.

Those were actually jokes, as well as the one about 'naive newbies'. I hope that nobody took that seriously :-/

Seems that nobody has any suggestions at the moment. Who should I send patches to?
The autotools setup for 4.2 branch (almost) absolutelly requires renaming *.s ASM files to *.S It should be accepted since it is a really, really pure internal thing and if all the filenames in makefiles and file lists are renamed as well, nobody will notice, right?

---------------------------------------------------
Mind is like space, it is open, clear and unlimited. -- Ole Nydahl

 1   2   3 


Go to: