---- Le lun., 21 juin 2021 18:40:33 -0400 Eric Auer <mailto:[email protected]>
écrit ----
[...]
>> Explicitly set -std=gnu89 and -std=gnu++98 for DJGPP compilation
>>
>> Versions 5.00 and above of GCC default to -std=gnu11 instead of -std=gnu89.
>> This breaks linking of Allegro 4.2 on newer GCC systems, because the new
>> standard changes the meaning of `static inline` functions.
>>
>> Explicitly setting -std=gnu89 in CFLAGS (and again for `asmdef.exe`) uses
>> the old-style inline rules and allows linking to complete.
>>
>> Similarly, there is a linking issue with cpptest.cpp that is avoided when
>> specifically pinning the C++ version to gnu++98.
>That sounds useful, so how short does your list of warnings get after
>a make clean, editing the C_STD and CXX_STD in your (Allegro) makefile,
>and trying again? Possibly after reverting your kraptor source edits?
>Regards, Eric
You seems to expect things to go better, but they really go more wrong.
First, I need to recompile Allegro lib, where before I was using the
precompiled binaries on DJGPP mirror.
So I downloaded:
https://codeload.github.com/liballeg/allegro5/zip/refs/heads/4.2
And under dosemu, doing 'make' I got: free: memory fooled (followed by an
excption dump).
So I will concentrate on Linux where things get a bit clearer now what happens.
So I extracted the zip file giving the current state of branch 4.2 (latest
supporting officially DOS) of Allegro5.
So I go there:
paul@kasparno:~/Téléchargements/allegro5-4.2$ ls
aclocal.m4 demo makefile makefile.lst misc tests
allegro.cfg docs makefile.all makefile.mgw modules.lst todo.txt
allegro-config examples makefile.bcc makefile.osx obj tools
autom4te.cache fix.bat makefile.be makefile.qnx resource xmake.sh
config.log fix.sh makefile.dj makefile.tst setup
config.status include makefile.dmc makefile.vc src
configure indent.pro makefile.in makefile.ver stamp-h
configure.in lib makefile.info makefile.wat stamp-h.in
paul@kasparno:~/Téléchargements/allegro5-4.2$
.
paul@kasparno:~/Téléchargements/allegro5-4.2$ ./fix.sh
Usage: ./fix.sh <platform> [--quick|--dtou|--utod|--utom|--mtou]
Where platform is one of: bcc32, beos, djgpp, mingw, qnx, unix
mac, macosx, macosx-universal and watcom.
The --quick parameter turns off text file conversion, --dtou converts from
DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format,
--utom converts from Unix to Macintosh format and --mtou converts from
Macintosh to Unix format. If no parameter is specified --quick is assumed.
paul@kasparno:~/Téléchargements/allegro5-4.2$ ./fix.sh unix
Configuring Allegro for Unix ...
Done!
paul@kasparno:~/Téléchargements/allegro5-4.2$ LANG=C make
make: *** No rule to make target 'lib/unix/liballeg-4.2.4.so', needed by 'lib'.
Stop.
paul@kasparno:~/Téléchargements/allegro5-4.2$ ./fix.sh djgpp
Configuring Allegro for DOS (djgpp) ...
Done!
paul@kasparno:~/Téléchargements/allegro5-4.2$ LANG=C make
makefile.all:248: *** recipe commences before first target. Stop.
paul@kasparno:~/Téléchargements/allegro5-4.2$
So, it does give the line number where problems begin:
paul@kasparno:~/Téléchargements/allegro5-4.2$ cat makefile
# generated by fix.sh
MAKEFILE_INC = makefile.dj
include makefile.all
In makefile.all, I can see the problem: (strange... the problem seems to fix by
pasting here, but basically
the functions are prefixed by 3 spaces, rather than a tab)... yeah I took it
directly from makefile.all because mousepad
does not show me makefile:
clean:
ifdef UNIX_TOOLS
-rm $(RM_OPTS) $(OBJ_CLEAN_FILES)
-rm $(RM_OPTS) $(OTHER_CLEAN_FILES)
else
define RM_CLEAN
$(foreach file, $(wildcard $(OBJ_CLEAN_FILES)), -del $(subst /,\,$(file))
)
$(foreach file, $(wildcard $(OTHER_CLEAN_FILES)), -del $(subst
/,\,$(file))
)
endef
-$(RM_CLEAN)
endif
distclean: clean
ifdef UNIX_TOOLS
-rm $(RM_OPTS) $(DISTCLEAN_FILES)
else
define RM_DISTCLEAN
$(foreach file, $(wildcard $(DISTCLEAN_FILES)), -del $(subst /,\,$(file))
)
endef
-$(RM_DISTCLEAN)
endif
So it is about there I am now.
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel