Re: [AD] open watcom / 4.0.3rc1

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


> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> MinGW32 on Windows 98
>
> # fix watcom
> # make
> ...
> Same thing as above... except that it flew by the few errors and didn't
> stop. (Ie, it posted the "obj" not found message, but continued anyway.)
>
> Also, to fix this, (in addition to the same / \ conversion above) I had
> to replace a line in makefile.wat from:
>
> obj/watcom/runner.exe: src/misc/runner.c
>
> to:
>
> $(RUNNER): src/misc/runner.c
>
> (I do not think I had to do this in 2000, but I possibly just built the
> runner.exe the first time, got the error, switched the / to \ and ran
> make again.)
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> DJGPP on Windows 98
>
> # fix watcom
> # make
> ...
>
> success! DJGPP didn't care if it had \ or / in RUNNER.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ok, I could reproduce the two behaviours on my box (Win98SE). The problem 
comes from a weird feature (bug?) of make 3.79.1 for Mingw32: in the  
following rule

$(OBJ_DIR)/%.obj: %.c $(RUNNER)
	$(RUNNER) wcc386 \\ $< @ $(COMPILE_FLAGS) -zq -fr=nul -I. -I./include -fo=$@

$(RUNNER) which natively expands to obj/watcom/runner.exe is automatically 
converted to the Windows way-of-naming-directories (obj\watcom\runner.exe) 
whereas in the rule

*/%.exe: $(OBJ_DIR)/%.obj $(LIB_NAME) $(RUNNER)
	$(RUNNER) wlink \\ @ $(LFLAGS) "name $@" "file $<" "library $(LIB_NAME)"

it isn't because the line contains at least one double-quote character.

Prepending the double-quote characters with a \ turns on the conversion 
again, but this time the Watcom linker chokes.

I'm not sure of the best way to fix that because I'm afraid that turning / 
into \ might cause problems with some versions of 'make' for DOS.

-- 
Eric Botcazou




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