Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro 4.2.0 beta

This thread is locked; no one can reply to it. rss feed Print
Allegro 4.2.0 beta
Milan Mimica
Member #3,877
September 2003
avatar

evert said:

AllegroGL CVS or WIP? Could be a problem with AllegroGL rather than Allegro, but we'll need to look into it.

CVS. It is not agl problem -- try to open demofont.dat with grabber.

Quote:

About the AGL problem, it should be caused by agl itself. From agl newsletter I found
...
That's fast. I'm impressed!
...
Real-time patching!

Thanks, it was me, but this doesn't solve fonts problem. It would be nice to hear someone from AGL team about last 3 patches I sent though. :-/

Evert
Member #794
November 2000
avatar

Quote:

It is not agl problem -- try to open demofont.dat with grabber.

Ack! I see the problem. Apparently I screwed up when I added the true colour font support. I tested if it worked, but it seems that by unlucky chance I ended up testing it with mono fonts only (which basically means I didn't test it at all).
The fix, which I'm uploading in a moment, is in line 898 of allegro/src/font.c: replace if (bitmap_color_depth(bmp) == 8) with if (bitmap_color_depth(g) == 8) and it should be fine.

Damn, this has to be about the bumpiest release I've ever done :'(

Gideon Weems
Member #3,925
October 2003

Don't worry. In order to make a giant leap, you have to bend your legs a little.

Yeah, I just made that up and it shows. It also shows that it's waay past my bedtime. Anyway, there was the 4.2 deadline to deal with, and this is still labelled 4.20b, right? Let's get to it and squash bugs!

Oscar Giner
Member #2,207
April 2002
avatar

Wow, the April's fools joke only lasted for two posts :(

It compiled and installed fine, here. Using MSVC 2003.

Milan Mimica
Member #3,877
September 2003
avatar

I think there is too little time between our 'private test release' and actual release. There should be at least 48 hours.

CGamesPlay
Member #2,559
July 2002
avatar

It was pressure to make it to the shelf on April 1 ;)

--
Tomasu: Every time you read this: hugging!

Ryan Patterson - <http://cgamesplay.com/>

Evert
Member #794
November 2000
avatar

I think undid most of the damage I did and the current download should compile and work without major show stoppers.

Milan: I had intended to have it finished on Wednesday, but it was not to be. Since everything was fine a few days ago, things worked fine for me and people reported that it worked this morning, I decided I could afford to make the release. Clearly, the problems were with last minute fixes and things I mistested that didn't show up in a cursory run of the test programme or the examples. Should be sorted out now.

CGamesPlay
Member #2,559
July 2002
avatar

I just checked out CVS and had two errors. Apparently the makefile rules for exfont and exsyscur are missing. I just compiled them myself.

--
Tomasu: Every time you read this: hugging!

Ryan Patterson - <http://cgamesplay.com/>

Evert
Member #794
November 2000
avatar

Quote:

I just checked out CVS and had two errors. Apparently the makefile rules for exfont and exsyscur are missing. I just compiled them myself.

Huh? Please double-check that. The rule is there in my local tree, which is synchronized to the CVS tree. Also please check with the source archive on the download page.

CGamesPlay
Member #2,559
July 2002
avatar

1cgames@ryan cgames $ cd projects/allegro/
2cgames@ryan allegro $ cvs up
3cvs update: Updating .
4cvs update: Updating demo
5cvs update: Updating docs
6cvs update: Updating docs/build
7cvs update: Updating docs/chm
8cvs update: Updating docs/chm/build
9cvs update: Updating docs/devhelp
10cvs update: Updating docs/devhelp/build
11cvs update: Updating docs/html
12cvs update: Updating docs/html/build
13cvs update: Updating docs/info
14cvs update: Updating docs/man
15cvs update: Updating docs/rtf
16cvs update: Updating docs/scite
17cvs update: Updating docs/src
18cvs update: Updating docs/src/build
19cvs update: Updating docs/src/makedoc
20cvs update: Updating docs/texi
21cvs update: Updating docs/txt
22cvs update: Updating examples
23cvs update: Updating include
24cvs update: Updating include/allegro
25cvs update: Updating include/allegro/inline
26cvs update: Updating include/allegro/internal
27cvs update: Updating include/allegro/platform
28cvs update: Updating lib
29cvs update: Updating lib/bcc32
30cvs update: Updating lib/beos
31cvs update: Updating lib/djgpp
32cvs update: Updating lib/macosx
33cvs update: Updating lib/mingw32
34cvs update: Updating lib/msvc
35cvs update: Updating lib/qnx
36cvs update: Updating lib/rsxnt
37cvs update: Updating lib/unix
38cvs update: Updating lib/watcom
39cvs update: Updating mactests
40cvs update: Updating misc
41cvs update: Updating obj
42cvs update: Updating obj/bcc32
43cvs update: Updating obj/bcc32/alld
44cvs update: Updating obj/bcc32/alleg
45cvs update: Updating obj/bcc32/allp
46cvs update: Updating obj/beos
47cvs update: Updating obj/beos/alld
48cvs update: Updating obj/beos/alleg
49cvs update: Updating obj/beos/allp
50cvs update: Updating obj/djgpp
51cvs update: Updating obj/djgpp/alld
52cvs update: Updating obj/djgpp/alleg
53cvs update: Updating obj/djgpp/allp
54cvs update: Updating obj/macosx
55cvs update: Updating obj/macosx/alld
56cvs update: Updating obj/macosx/alleg
57cvs update: Updating obj/macosx/allp
58cvs update: Updating obj/mingw32
59cvs update: Updating obj/mingw32/alld
60cvs update: Updating obj/mingw32/alld_s
61cvs update: Updating obj/mingw32/alleg
62cvs update: Updating obj/mingw32/alleg_s
63cvs update: Updating obj/mingw32/allp
64cvs update: Updating obj/mingw32/allp_s
65cvs update: Updating obj/msvc
66cvs update: Updating obj/msvc/alld
67cvs update: Updating obj/msvc/alld_s
68cvs update: Updating obj/msvc/alleg
69cvs update: Updating obj/msvc/alleg_s
70cvs update: Updating obj/msvc/allp
71cvs update: Updating obj/msvc/allp_s
72cvs update: Updating obj/qnx
73cvs update: Updating obj/qnx/alld
74cvs update: Updating obj/qnx/alleg
75cvs update: Updating obj/qnx/allp
76cvs update: Updating obj/rsxnt
77cvs update: Updating obj/rsxnt/alld
78cvs update: Updating obj/rsxnt/alleg
79cvs update: Updating obj/rsxnt/allp
80cvs update: Updating obj/unix
81cvs update: Updating obj/unix/alld
82cvs update: Updating obj/unix/alleg
83cvs update: Updating obj/unix/allp
84cvs update: Updating obj/unix/module
85cvs update: Updating obj/unix/shared
86cvs update: Updating obj/unix/shared/alld
87cvs update: Updating obj/unix/shared/alleg
88cvs update: Updating obj/unix/shared/allp
89cvs update: Updating obj/watcom
90cvs update: Updating obj/watcom/alld
91cvs update: Updating obj/watcom/alleg
92cvs update: Updating obj/watcom/allp
93cvs update: Updating perl
94cvs update: Updating resource
95cvs update: Updating resource/keyboard
96cvs update: Updating resource/language
97cvs update: Updating setup
98cvs update: Updating src
99cvs update: Updating src/amd64
100cvs update: Updating src/beos
101cvs update: Updating src/c
102cvs update: Updating src/compat
103cvs update: Updating src/dos
104cvs update: Updating src/i386
105cvs update: Updating src/linux
106cvs update: Updating src/mac
107cvs update: Updating src/macosx
108cvs update: Updating src/misc
109cvs update: Updating src/ppc
110cvs update: Updating src/qnx
111cvs update: Updating src/unix
112cvs update: Updating src/win
113cvs update: Updating src/x
114cvs update: Updating tests
115cvs update: Updating tests/mac
116cvs update: Updating tests/win
117cvs update: Updating tools
118cvs update: Updating tools/beos
119cvs update: Updating tools/macosx
120cvs update: Updating tools/plugins
121cvs update: Updating tools/win
122cvs update: Updating tools/x11
123cvs update: Updating wintests
124cgames@ryan allegro $ ./configure
125checking for gcc... gcc
126checking for C compiler default output file name... a.out
127checking whether the C compiler works... yes
128checking whether we are cross compiling... no
129checking for suffix of executables...
130checking for suffix of object files... o
131checking whether we are using the GNU C compiler... yes
132checking whether gcc accepts -g... yes
133checking for gcc option to accept ANSI C... none needed
134checking whether -fomit-frame-pointer is safe... yes
135checking whether an include prefix is needed... yes
136checking how to run the C preprocessor... gcc -E
137checking whether a C++ compiler is installed... yes
138checking whether linker works with -s option... yes
139checking for a BSD-compatible install... /bin/install -c
140checking whether make sets $(MAKE)... yes
141checking whether ln -s works... yes
142checking for ldconfig... /sbin/ldconfig
143checking for makeinfo... /usr/bin/makeinfo
144checking for install-info... /usr/bin/install-info
145checking for processor type... i386
146checking whether -mtune is supported... no
147checking for MMX support... yes
148checking for SSE support... yes
149checking for asm prefix before symbols... ""
150checking whether byte ordering is bigendian... no
151checking for MAP_FAILED... yes
152checking for sched_yield in -lc... yes
153checking for constructor attribute... yes
154checking for egrep... grep -E
155checking for ANSI C header files... yes
156checking for sys/types.h... yes
157checking for sys/stat.h... yes
158checking for stdlib.h... yes
159checking for string.h... yes
160checking for memory.h... yes
161checking for strings.h... yes
162checking for inttypes.h... yes
163checking for stdint.h... yes
164checking for unistd.h... yes
165checking dlfcn.h usability... yes
166checking dlfcn.h presence... yes
167checking for dlfcn.h... yes
168checking whether --export-dynamic linker flag is supported... yes
169checking for dlopen in -ldl... yes
170checking soundcard.h usability... no
171checking soundcard.h presence... no
172checking for soundcard.h... no
173checking sys/soundcard.h usability... yes
174checking sys/soundcard.h presence... yes
175checking for sys/soundcard.h... yes
176checking machine/soundcard.h usability... no
177checking machine/soundcard.h presence... no
178checking for machine/soundcard.h... no
179checking linux/soundcard.h usability... yes
180checking linux/soundcard.h presence... yes
181checking for linux/soundcard.h... yes
182checking for supported ALSA version for digital sound... yes
183checking for supported ALSA version for MIDI... yes
184checking for esd-config... /usr/bin/esd-config
185checking for esd_open_sound... yes
186checking for artsc-config... /usr/kde/3.3/bin/artsc-config
187checking for arts_init... yes
188checking for alOpenPort in -laudio... no
189checking for soundcard.h... (cached) no
190checking for sys/soundcard.h... (cached) yes
191checking for machine/soundcard.h... (cached) no
192checking for linux/soundcard.h... (cached) yes
193checking linux/awe_voice.h usability... yes
194checking linux/awe_voice.h presence... yes
195checking for linux/awe_voice.h... yes
196checking sys/procfs.h usability... yes
197checking sys/procfs.h presence... yes
198checking for sys/procfs.h... yes
199checking for X... libraries , headers
200checking for XMissingExtension in -lXext... yes
201checking X11/xpm.h usability... yes
202checking X11/xpm.h presence... yes
203checking for X11/xpm.h... yes
204checking for XpmCreatePixmapFromData in -lXpm... yes
205checking for XcursorImageCreate in -lXcursor... yes
206checking for XShmQueryExtension in -lXext... yes
207checking for XF86VidModeQueryExtension in -lXxf86vm... yes
208checking for XDGAQueryExtension in -lXxf86dga... yes
209checking for XOpenIM in -lX11... yes
210checking sys/io.h usability... yes
211checking sys/io.h presence... yes
212checking for sys/io.h... yes
213checking linux/joystick.h usability... yes
214checking linux/joystick.h presence... yes
215checking for linux/joystick.h... yes
216checking linux/input.h usability... yes
217checking linux/input.h presence... yes
218checking for linux/input.h... yes
219checking linux/fb.h usability... yes
220checking linux/fb.h presence... yes
221checking for linux/fb.h... yes
222checking vga.h usability... yes
223checking vga.h presence... yes
224checking for vga.h... yes
225checking for vga_init in -lvga... yes
226checking for vga_version in vga.h... yes
227checking pthread.h usability... yes
228checking pthread.h presence... yes
229checking for pthread.h... yes
230checking for pthread_create in -lpthread... yes
231checking for pkg-config... /usr/bin/pkg-config
232Package jack was not found in the pkg-config search path.
233Perhaps you should add the directory containing `jack.pc'
234to the PKG_CONFIG_PATH environment variable
235No package 'jack' found
236Package jack was not found in the pkg-config search path.
237Perhaps you should add the directory containing `jack.pc'
238to the PKG_CONFIG_PATH environment variable
239No package 'jack' found
240checking for jack_client_new... no
241checking for ANSI C header files... (cached) yes
242checking for dirent.h that defines DIR... yes
243checking for library containing opendir... none required
244checking whether time.h and sys/time.h may both be included... yes
245checking fcntl.h usability... yes
246checking fcntl.h presence... yes
247checking for fcntl.h... yes
248checking limits.h usability... yes
249checking limits.h presence... yes
250checking for limits.h... yes
251checking sys/time.h usability... yes
252checking sys/time.h presence... yes
253checking for sys/time.h... yes
254checking for unistd.h... (cached) yes
255checking sys/utsname.h usability... yes
256checking sys/utsname.h presence... yes
257checking for sys/utsname.h... yes
258checking for an ANSI C-conforming const... yes
259checking for inline... inline
260checking for size_t... yes
261checking whether struct tm is in sys/time.h or time.h... time.h
262checking return type of signal handlers... void
263checking for mmap... yes
264checking for memcmp... yes
265checking for mkstemp... yes
266checking for stricmp... no
267checking for strlwr... no
268checking for strupr... no
269checking for vprintf... yes
270configure: creating ./config.status
271config.status: creating makefile
272config.status: creating allegro-config
273config.status: creating include/allegro/platform/alunixac.h
274config.status: include/allegro/platform/alunixac.h is unchanged
275config.status: executing default commands
276 Some drivers will be built as dynamic modules.
277 Enabled modules: dga2 svgalib fbcon vga ossmidi artsdigi esddigi alsamidi alsadigi ossdigi
278 Disabled modules: jackdigi vbeaf sgialdigi
279 Generated code: multithreaded, little endian, i386 asm, MMX, SSE
280 Generated libraries: shared release
281 Compiled programs: dynamically linked release
282 Ignoring compiler warnings.

Now the "relevant" stuff:

cgames@ryan allegro $ make examples/exfont
make: *** No rule to make target `examples/exfont'.  Stop.
cgames@ryan allegro $ gcc -DHAVE_CONFIG_H -I. -Iinclude -Iinclude/allegro -I./include -I./include/allegro  -I/usr/kde/3.3/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DALLEGRO_LIB_BUILD  -mcpu=pentium -O2 -funroll-loops -ffast-math -fomit-frame-pointer -Wall -Wno-unused  -c ./examples/exfont.c -o obj/unix/exfont.o
cgames@ryan allegro $ gcc -s -Wl,--export-dynamic  -o examples/exfont obj/unix/exfont.o -Llib/unix -lalleg-4.2.0 -lalleg_unsharable -lm
cgames@ryan allegro $ 

--
Tomasu: Every time you read this: hugging!

Ryan Patterson - <http://cgamesplay.com/>

Daniel Schlyder
Member #257
April 2000
avatar

Evert, makefile.all is still messed up. Now it's using backslash for the UNIX script, which won't work under MSYS (and neither under Cygwin, I presume).

Evert
Member #794
November 2000
avatar

CGamesPlay: Apparently SourceForge's public servers haven't synchronized with the dev servers yet:

Quote:

eglebbk@gandalf:~/Program/Allegro/cvs/mainline/allegro>grep "exfont" makefile.lst
examples/exfont.c \
examples/exfont \
eglebbk@gandalf:~/Program/Allegro/cvs/mainline/allegro>grep "exsys" makefile.lst
examples/exsyscur.c \
examples/exsyscur \
eglebbk@gandalf:~/Program/Allegro/cvs/mainline/allegro>cvs diff makefile.lst
eglebbk@cvs.sourceforge.net's password:
eglebbk@gandalf:~/Program/Allegro/cvs/mainline/allegro>

Daniel: great... I probably broke the OSX port at the same time. sigh.
Either we use forward slashes or we use backslashes, in either case it's not going to work in some situations. Doing cd misc; mdhelper; cd .. would still be the best thing to do in my opinion, but as you said DOS really needs commands to be on seperate lines so we probably can't do that. In other words, I'm going to pull the mdhelper scripts from misc into the main directory and release a new beta in a few days or so. In the mean time, we can try to fix some more problems not related to the build system.

Daniel Schlyder
Member #257
April 2000
avatar

Sounds good. BTW, pretty annoying that my patch to use "cd misc; mdhelper" hasn't made it through to the mailing list yet. I sent it almost four hours ago! Of course, the patch is no good for Windows 9x, but I presume that's not the reason it's not on the list yet. :) Maybe we should consider looking for alternatives to Sourceforge for hosting the mailing lists? This kind of delay happens quite often, doesn't it?

ReyBrujo
Moderator
January 2001
avatar

Ugh, the root directory is cluttered. I would suggest moving makefiles into a subdirectory, and project files into another. The root should be clean except with the README, CHANGES, the configure and the fix scripts.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

CGamesPlay
Member #2,559
July 2002
avatar

I disagree. I think the root Makefiles/build system files should be in the project root.

[edit]
If you have the Makefile in a subdirectory, you can't simply run "make". You have to run "make -f subdir/Makefile".

The configure script will create a Makefile in the root directory.

A very simple project with a configure script, windows makefile, and vcproject file has these files. Unless you disregard the above two notices, you can't get the root less cluttered than this.

cgames@arena tinparty $ ls
AUTHORS      Makefile.win    config.h       configure.in  mkinstalldirs
COPYING      NEWS            config.h.in    data          src
ChangeLog    README          config.log     depcomp       stamp-h1
INSTALL      TODO            config.status  install-sh    tinparty.dev
Makefile     aclocal.m4      config.sub     libtool       tinparty.sln
Makefile.am  autom4te.cache  configure      ltmain.sh     tinparty.vcproj
Makefile.in  config.guess    configure.bat  missing

20 of those files we because the configure script existed in the directory. You can't lower this number.

--
Tomasu: Every time you read this: hugging!

Ryan Patterson - <http://cgamesplay.com/>

Kitty Cat
Member #2,815
October 2002
avatar

The main makefile can/should be in the project root, but I think the platform-specific makefiles can be moved elsewhere.

--
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham

ReyBrujo
Moderator
January 2001
avatar

That is my idea. Let the fix include the subdirectory (of course, modifying all other makefiles). For everyone else it would be clean (fix ...; make). The configure output could be moved into another directory (inside obj/linux, in example).

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Matthew Leverton
Supreme Loser
January 1999
avatar

Attached is a proposed change to the fix.bat for Windows.

It does two things:

  1. Changes the --quick parameter to --crlf

  2. Changes the --msvcpaths parameter to --disable-8.3

In both cases, the switches have been reversed to default to the opposite behavior. Justification:

  1. No one needs to convert from LF to CR/LF if they use the ZIP distribution. The --quick parameter is a nuisance, and is auto-disabled anyway for most of the targets. Furthermore, there is no way to enable it if you are on one of those targets...

  2. MSVCDir with spaces is perhaps the #1 problem newbies face when compiling Allegro for MSVC. Even if they know they need to change it, they don't know how. The --msvc-paths switch is a step in the right direction, but it needs to be the default.

It would be nice if those on Windows with MSVC could download the file and test to see if it handles the errors properly.

Update: Corrected new behavior so it only runs under the MSVC targets.

Peter Hull
Member #1,136
March 2001

Quote:

I think there is too little time between our 'private test release' and actual release.

It's a beta. It will have errors. You can't go in forever having pre-beta, pre-pre-beta... eventually you have to dive in. Well done Evert for all your work so far :D

Quote:

Daniel: great... I probably broke the OSX port at the same time. sigh.

AFAICS, it isn't broken on OS X (this is revision 1.55 of makefile.all) - or have I got that to come...?

Pete

Daniel Schlyder
Member #257
April 2000
avatar

Quote:

Well done Evert for all your work so far

Hear, hear!

CGamesPlay
Member #2,559
July 2002
avatar

It would be a huge pain to run obj/linux/configure to configure. Every other package on the net has configure in the root. I also don't think the directory is cluttered, as the only things that are ever access from outside the command line are in subdirectories themselves, and those are sorted to the top.

--
Tomasu: Every time you read this: hugging!

Ryan Patterson - <http://cgamesplay.com/>

Thomas Fjellstrom
Member #476
June 2000
avatar

If people are fed up with Sf's mailing lists, I can host MANY on my hosting account. It wouldn't be a problem. I'd even put up a web/download mirror if I had a good domain name to point to it :) (*.strangesoft.net/*.tomasu.[com|net] don't seem to fit, especially strangesoft.net)

--
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

Matthew Leverton
Supreme Loser
January 1999
avatar

Does 4.2 compile with gcc 2.95? My version doesn't have inttypes.h.

C:\code\allegro>make
Compiling Allegro for MinGW32, optimised. Please wait...
gcc -DALLEGRO_SRC -DALLEGRO_LIB_BUILD -Wall -Wno-unused -mcpu=i586 -O2 funroll
loops -ffast-math  -fomit-frame-pointer -I. -I./include -o obj/mingw32/alleg/all
egro.o -c src/allegro.c
In file included from include/allegro/internal/alconfig.h:64,
                 from include/allegro/base.h:40,
                 from include/allegro.h:25,
                 from src/allegro.c:23:
include/allegro/platform/astdint.h:28: inttypes.h: No such file or directory
make: *** [obj/mingw32/alleg/allegro.o] Error 1

Thomas Fjellstrom
Member #476
June 2000
avatar

I'd say allegro 4.2 requires GCC 3.+

--
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

Matthew Leverton
Supreme Loser
January 1999
avatar

Quote:

I'd say allegro 4.2 requires GCC 3.+

I have no problems if that is the solution. However, the build process should detect that and tell you nicely if it is the case - considering that (at least most versions of) Allegro 4.1.x compiled with 2.95.

We modem users don't like upgrading unless absolutely necessary. ;)



Go to: