Visual-MinGW: Winelib patch

Dimitrie O. Paun dpaun at rogers.com
Tue Dec 31 17:18:09 CST 2002


On December 31, 2002 03:43 pm, Manu wrote:
> > that Visual-MinGW should not depend on cygwin, no? If so, it makes
> > sense to make this explicit with -mno-cygwin.
>
> If MinGW doesn't complain, I agree.

It shouldn't, it's documented to do so, try it out.

> -fvtable-thunks is problematic. I use gcc version 2.95.3-6 (mingw special),
> (faster, smaller binaries) -fvtable-thunks is required with gcc 2,
> but gcc 3 outputs a warning.
> Any workaround?

The best thing would be to determine the version of gcc dynamically
in the makefile, like so:

GCC_VER_2 := 'gcc version 2.'
CFLAGS = -mno-cygwin -W -Wall -fno-exceptions -fno-rtti
ifeq ($(findstring $(GCC_VER_2), $(shell gcc -v)),$(GCC_VER_2))
CFLAGS += -fvtable-thunks
endif
ifeq ($(MAKECMDGOALS),debug)
CFLAGS += -g
else
CFLAGS += $(OPTIMIZ)
else

This would require GNU make, but your current makefile requires
GNU make anyway, so... In this case, it would be better to
rename makefile -> Makefile, it's more standard for GNU make files.

> Visual-MinGW generates the right makefile indeed, from user
> parameters in the ".prj" file. There is three possibilities:
>
>  - makefile.wine
>  - configure.in/Makefile.am > configure script.
>  - modifying params in ".prj" files.
>
> I will change the parameters in ".prj" files, then generated
> makefiles should work for both MinGW and Wine.
> Though, I don't have a solution for -fvtable-thunks.

There shouldn't be a any need for modifying parameters in .prj files.
Look, what we can do is this:

ifdef WINE
CC = winegcc
CXX = winegcc -xc++
WRES = wrc
else
CC = g++
WRES = windres
endif

And then, to compile on Wine you just make sure you define WINE
before invoking make, like so:
  WINE=1 make
or
  make WINE=1

> About configuration files, I started a new project called
> MSYS Here, which is a MSYS loader. With it, MSYS can
> be launched from Windows Explorer, the same way than
> the "DOS Prompt Here" power toy.

Having a configure script can help, but let's get this one fixed
first. Once this works, we can look at the configuration stuff.

-- 
Dimi.




More information about the wine-devel mailing list