Fixes to allow DLL compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c9c436eb70
commit
75515c52a4
@ -1,9 +1,12 @@
|
|||||||
|
#
|
||||||
# makeg95.env
|
# makeg95.env
|
||||||
# Common makefile settings for wxWindows programs
|
# Common makefile settings for wxWindows programs
|
||||||
# This file is included by all the other makefiles, thus changes
|
# This file is included by all the other makefiles, thus changes
|
||||||
# made here take effect everywhere (except where overriden).
|
# made here take effect everywhere (except where overriden).
|
||||||
# The settings are for GnuWin32-derived compilers, i.e. Cygwin and Mingw32.
|
# The settings are for GnuWin32-derived compilers, i.e. Cygwin and Mingw32.
|
||||||
#
|
#
|
||||||
|
# CVS_ID: $Id$
|
||||||
|
#
|
||||||
|
|
||||||
# If using Cygwin, set this to 0.
|
# If using Cygwin, set this to 0.
|
||||||
# If using Mingw32, set this to 1.
|
# If using Mingw32, set this to 1.
|
||||||
@ -12,11 +15,20 @@ MINGW32=1
|
|||||||
# Set to the version you have
|
# Set to the version you have
|
||||||
MINGW32VERSION=2.95
|
MINGW32VERSION=2.95
|
||||||
|
|
||||||
|
# If building DLL, the version
|
||||||
|
WXVERSION=21_11
|
||||||
|
|
||||||
|
# Say yes if you have a "modern" linker that supports --shared option.
|
||||||
|
# Note that you're probably going to wait forever for dlltool/gcc/etc
|
||||||
|
# to build the DLL, so you should really use a newer linker that
|
||||||
|
# supports --shared.
|
||||||
|
LD_SUPPORTS_SHARED=yes
|
||||||
|
|
||||||
# Set to the appropriate remove command
|
# Set to the appropriate remove command
|
||||||
RM=rm -f
|
RM=rm -f
|
||||||
|
|
||||||
# Set to the appropriate copy command
|
# Set to the appropriate copy command and separator
|
||||||
COPY=copy
|
COPY=cp
|
||||||
|
|
||||||
########################## Compiler ##################################
|
########################## Compiler ##################################
|
||||||
|
|
||||||
@ -24,7 +36,7 @@ COPY=copy
|
|||||||
# Put a comment before --pipe for Cygwin, remove comment for Mingw32 2.95
|
# Put a comment before --pipe for Cygwin, remove comment for Mingw32 2.95
|
||||||
|
|
||||||
ifeq ($(MINGW32),1)
|
ifeq ($(MINGW32),1)
|
||||||
ifeq ($(MINGW32VERSION),2.95)
|
ifneq "$(findstring 2.95, $(MINGW32VERSION))" ""
|
||||||
CC = gcc --pipe -fvtable-thunks
|
CC = gcc --pipe -fvtable-thunks
|
||||||
else
|
else
|
||||||
CC = gcc
|
CC = gcc
|
||||||
@ -39,6 +51,8 @@ CCC = $(CC)
|
|||||||
# Compiler used for LEX generated C
|
# Compiler used for LEX generated C
|
||||||
CCLEX=gcc
|
CCLEX=gcc
|
||||||
|
|
||||||
|
# GRG: This shouldn't be here! make is supposed to define the
|
||||||
|
# MAKE variable itself.
|
||||||
MAKE=make
|
MAKE=make
|
||||||
|
|
||||||
# LEX
|
# LEX
|
||||||
@ -49,7 +63,7 @@ YACC=byacc
|
|||||||
#YACC=bison
|
#YACC=bison
|
||||||
|
|
||||||
# Settings for Cyginw/Mingw32
|
# Settings for Cyginw/Mingw32
|
||||||
RESCOMP=windres.exe
|
RESCOMP=windres
|
||||||
RCINPUTSWITCH=-i
|
RCINPUTSWITCH=-i
|
||||||
RCOUTPUTSWITCH=-o
|
RCOUTPUTSWITCH=-o
|
||||||
RCINCSWITCH=--include-dir
|
RCINCSWITCH=--include-dir
|
||||||
@ -57,6 +71,10 @@ RCDEFSWITCH=--define
|
|||||||
|
|
||||||
RESFLAGS=$(RCINCSWITCH) $(WXDIR)/include $(RCDEFSWITCH) __WIN32__ $(RCDEFSWITCH) __WIN95__ $(RCDEFSWITCH) __GNUWIN32__
|
RESFLAGS=$(RCINCSWITCH) $(WXDIR)/include $(RCDEFSWITCH) __WIN32__ $(RCDEFSWITCH) __WIN95__ $(RCDEFSWITCH) __GNUWIN32__
|
||||||
|
|
||||||
|
# Needed to build a DLL if your linker does not support --shared option.
|
||||||
|
AS = as
|
||||||
|
DLLTOOL = dlltool
|
||||||
|
|
||||||
########################## Compiler flags #############################
|
########################## Compiler flags #############################
|
||||||
|
|
||||||
# Miscellaneous compiler options
|
# Miscellaneous compiler options
|
||||||
@ -97,15 +115,16 @@ WARN = -Wall
|
|||||||
# Which GUI, -Dwx_xview or -Dwx_motif (don't change this)
|
# Which GUI, -Dwx_xview or -Dwx_motif (don't change this)
|
||||||
GUI = -D__WXMSW__ -D__WINDOWS__
|
GUI = -D__WXMSW__ -D__WINDOWS__
|
||||||
|
|
||||||
# according to Guillermo Rodriguez Garcia <guille@iies.es> this flag is
|
# According to Guillermo Rodriguez Garcia <guille@iies.es>, the
|
||||||
# needed to make the standard div() function work - otherwise it returns
|
# -fno-pcc-struct-return option is needed to make the standard div()
|
||||||
# absolutely incorrect results and completely breaks the wxImage class
|
# function work - otherwise it returns absolutely incorrect results
|
||||||
# (where it's used extensively)
|
# which breaks the wxImage class. This is true at least for
|
||||||
# GRG: at least it is needed in mingw32-gcc2.8.1
|
# mingw32-gcc2.8.1, don't know about others.
|
||||||
OPT = -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions
|
OPT = -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions
|
||||||
|
|
||||||
# Options for ar archiver
|
# Options for ar archiver
|
||||||
# AROPTIONS = crs # For IRIX and Solaris (both SYSVR4).
|
# AROPTIONS = crs # For IRIX and Solaris (both SYSVR4).
|
||||||
|
AR = ar
|
||||||
AROPTIONS = ruv
|
AROPTIONS = ruv
|
||||||
RANLIB = ranlib
|
RANLIB = ranlib
|
||||||
|
|
||||||
@ -136,21 +155,25 @@ WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF)
|
|||||||
GNUWIN32EXTRA=-I$(WXDIR)/include/wx/msw/gnuwin32
|
GNUWIN32EXTRA=-I$(WXDIR)/include/wx/msw/gnuwin32
|
||||||
|
|
||||||
ifeq ($(MINGW32),1)
|
ifeq ($(MINGW32),1)
|
||||||
ifeq ($(MINGW32),2.95)
|
ifneq "$(findstring 2.95, $(MINGW32VERSION))" ""
|
||||||
GNUWIN32EXTRA=
|
GNUWIN32EXTRA=
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MINGW32),1)
|
ifeq ($(MINGW32),1)
|
||||||
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/xpm $(EXTRAINC) $(COMPPATHS)
|
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/xpm -I$(WXDIR)/src/tiff $(EXTRAINC) $(COMPPATHS)
|
||||||
else
|
else
|
||||||
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/xpm $(EXTRAINC) $(COMPPATHS) -I$(WXDIR)/include/wx/msw/gnuwin32
|
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/xpm -I$(WXDIR)/src/tiff $(EXTRAINC) $(COMPPATHS) -I$(WXDIR)/include/wx/msw/gnuwin32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)/include"
|
RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)/include"
|
||||||
|
|
||||||
#LIBS = $(WXLIB) $(WXDIR)/lib/libzlib.a $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a $(WINLIBS) $(COMPLIBS) $(EXTRALIBS)
|
ifdef WXUSINGDLL
|
||||||
LIBS = $(WXLIB) -lpng -ljpeg -lzlib -lxpm $(WINLIBS) $(COMPLIBS) $(EXTRALIBS)
|
# png, jpeg, etc are exported from wx dll, so skip and save on link time.
|
||||||
|
LIBS = $(WXLIB) $(WINLIBS) $(COMPLIBS) $(EXTRALIBS)
|
||||||
|
else
|
||||||
|
LIBS = $(WXLIB) -lpng -ljpeg -lzlib -lxpm -ltiff $(WINLIBS) $(COMPLIBS) $(EXTRALIBS)
|
||||||
|
endif
|
||||||
|
|
||||||
WINFLAGS=-D_X86_=1 -DWIN32 -D_WIN32 $(WINVERSION)
|
WINFLAGS=-D_X86_=1 -DWIN32 -D_WIN32 $(WINVERSION)
|
||||||
|
|
||||||
@ -163,9 +186,20 @@ LDLIBS = $(LIBS)
|
|||||||
# OBJDIR = objects$(GUISUFFIX)
|
# OBJDIR = objects$(GUISUFFIX)
|
||||||
OBJDIR = .
|
OBJDIR = .
|
||||||
|
|
||||||
|
ifdef WXMAKINGDLL
|
||||||
|
EXTRADLLFLAGS = -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1
|
||||||
|
WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx$(WXVERSION).$(LIBSUFF)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef WXUSINGDLL
|
||||||
|
EXTRADLLFLAGS = -DWXUSINGDLL=1
|
||||||
|
WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx$(WXVERSION).$(LIBSUFF)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# You shouldn't need to change these...
|
# You shouldn't need to change these...
|
||||||
CPPFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACPPFLAGS)
|
CPPFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACPPFLAGS) $(EXTRADLLFLAGS)
|
||||||
CFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACFLAGS)
|
CFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACFLAGS) -DWIN32_LEAN_AND_MEAN
|
||||||
WINDOWSLDFLAGS=-Wl,--subsystem,windows -mwindows
|
WINDOWSLDFLAGS=-Wl,--subsystem,windows -mwindows
|
||||||
LDFLAGS = $(WINDOWSLDFLAGS) -L$(WXDIR)/lib $(EXTRALDFLAGS)
|
LDFLAGS = $(WINDOWSLDFLAGS) -L$(WXDIR)/lib $(EXTRALDFLAGS)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user