Re: [AD] Issues when building MSVC Allegro using Cygwin

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Daniel Schlyder wrote:
Wackonet Mailbag Default account:

I've finally gotten round to testing this with make 3.80 on a recent
version of Cygwin, and the same problem persists, so whatever changed from make 3.79.1 to 3.80 had no effect.


Ok, I guess the change might have been only for MinGW.


One theory I've come up with is that the line:
    $(foreach file, $(filter-out existing_dirs, $(INSTALL_DIRS)), \
only works for shortened DOS filenames if backslashes are being used.


The attached makefile works with slashes under MSYS with Make 3.79.1. It
doesn't work with backslashes at all since I've used the "$(strip \)" trick,
but if you replace that with "\\" it will output the following error when
run a second time: "cannot create directory `c:\\progra~1\\foo': File
exists". I think Cygwin behaves like MSYS?


So I'm wondering if I should make a patch where if UNIX_TOOLS=1 and
$(INSTALL_DIRS) contains shortened DOS paths, it converts the directories
in $(INSTALL_DIRS) to backslashes and then after the filtering converts
$(INSTALL_DIRS) back to forward-slashes? Would this be overkill?


Unless my test makefile is flawed, it wouldn't help. :(


I just tried running the makefile twice under both Cygwin, DJGPP without UNIX_TOOLS and DJGPP with UNIX_TOOLS set to 1. In all cases when I run the makefile the first time, the two directories are successfully created, and when I run the makefile for a second time, I always get the message:
make.exe: Nothing to be done for `create-dirs'.
In Cygwin, I am using make 3.80, and in DJGPP, make 3.79.1

I hope this gives some insight into how to fix Allegro's makefile, but as I don't know much about the commands used in makefiles and their quirks, there's not much I can do myself.

AE.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/