Always link with expat in monolithic build.

Fix linking errors when using wxXML in sttaic monolithic build: in this case
we must link with expat but it was listed too early, before wxWidgets
libraries using it, in the bakefile-generated makefiles.

Now add it to the end of the linker command line too by including -lexpat in
EXTRALIBS_FOR_BASE which are appended to the linker arguments.

Notice that now -lexpat is linked twice because it is still added by
<wx-lib>xml</wx-lib> in bakefiles, even in monolithic build, but I don't know
how to avoid it and it is harmless anyhow.

Closes #12573.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-12-25 13:28:01 +00:00
parent 4d8e8355b4
commit 51ec29ea5d
548 changed files with 782 additions and 575 deletions

View File

@@ -30,6 +30,7 @@ TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
TOOLKIT_VERSION = @TOOLKIT_VERSION@
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@
EXTRALIBS_SDL = @EXTRALIBS_SDL@
CXXWARNINGS = @CXXWARNINGS@
@@ -92,7 +93,8 @@ WIDGETS_OBJECTS = \
@COND_UNICODE_1@WXUNICODEFLAG = u
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
@COND_PLATFORM_MAC_0@__widgets___mac_setfilecmd = @true

View File

@@ -62,7 +62,7 @@ WIDGETS_OBJECTS = \
$(OBJS)\widgets_static.obj \
$(OBJS)\widgets_statbmp.obj \
$(OBJS)\widgets_textctrl.obj \
$(OBJS)\widgets_timepick.obj \
$(OBJS)\widgets_timepick.obj \
$(OBJS)\widgets_toggle.obj \
$(OBJS)\widgets_widgets.obj
@@ -96,7 +96,7 @@ LIBTYPE_SUFFIX = dll
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_2 = -Od
@@ -344,9 +344,9 @@ $(OBJS)\widgets_statbmp.obj: .\statbmp.cpp
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
$(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp

View File

@@ -55,7 +55,7 @@ WIDGETS_OBJECTS = \
$(OBJS)\widgets_static.o \
$(OBJS)\widgets_statbmp.o \
$(OBJS)\widgets_textctrl.o \
$(OBJS)\widgets_timepick.o \
$(OBJS)\widgets_timepick.o \
$(OBJS)\widgets_toggle.o \
$(OBJS)\widgets_widgets.o \
$(OBJS)\widgets_sample_rc.o
@@ -93,7 +93,7 @@ ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
EXTRALIBS_FOR_BASE =
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
@@ -331,9 +331,9 @@ $(OBJS)\widgets_statbmp.o: ./statbmp.cpp
$(OBJS)\widgets_textctrl.o: ./textctrl.cpp
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\widgets_timepick.o: ./timepick.cpp
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\widgets_timepick.o: ./timepick.cpp
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\widgets_toggle.o: ./toggle.cpp
$(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -56,7 +56,7 @@ WIDGETS_OBJECTS = \
$(OBJS)\widgets_static.obj \
$(OBJS)\widgets_statbmp.obj \
$(OBJS)\widgets_textctrl.obj \
$(OBJS)\widgets_timepick.obj \
$(OBJS)\widgets_timepick.obj \
$(OBJS)\widgets_toggle.obj \
$(OBJS)\widgets_widgets.obj
WIDGETS_RESOURCES = \
@@ -119,7 +119,7 @@ LINK_TARGET_CPU = /MACHINE:IA64
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
@@ -454,9 +454,9 @@ $(OBJS)\widgets_statbmp.obj: .\statbmp.cpp
$(OBJS)\widgets_textctrl.obj: .\textctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\textctrl.cpp
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
$(OBJS)\widgets_timepick.obj: .\timepick.cpp
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\timepick.cpp
$(OBJS)\widgets_toggle.obj: .\toggle.cpp
$(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) .\toggle.cpp

View File

@@ -66,7 +66,7 @@ EXTRALIBS_FOR_BASE =
EXTRALIBS_FOR_BASE =
!endif
!ifeq MONOLITHIC 1
EXTRALIBS_FOR_BASE =
EXTRALIBS_FOR_BASE =
!endif
__DEBUGINFO_0 =
!ifeq BUILD debug
@@ -260,7 +260,7 @@ WIDGETS_OBJECTS = &
$(OBJS)\widgets_static.obj &
$(OBJS)\widgets_statbmp.obj &
$(OBJS)\widgets_textctrl.obj &
$(OBJS)\widgets_timepick.obj &
$(OBJS)\widgets_timepick.obj &
$(OBJS)\widgets_toggle.obj &
$(OBJS)\widgets_widgets.obj
@@ -371,9 +371,9 @@ $(OBJS)\widgets_statbmp.obj : .AUTODEPEND .\statbmp.cpp
$(OBJS)\widgets_textctrl.obj : .AUTODEPEND .\textctrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
$(OBJS)\widgets_timepick.obj : .AUTODEPEND .\timepick.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
$(OBJS)\widgets_timepick.obj : .AUTODEPEND .\timepick.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
$(OBJS)\widgets_toggle.obj : .AUTODEPEND .\toggle.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<

View File

@@ -360,10 +360,10 @@ SOURCE=.\textctrl.cpp
# End Source File
# Begin Source File
SOURCE=.\timepick.cpp
# End Source File
# Begin Source File
SOURCE=.\timepick.cpp
# End Source File
# Begin Source File
SOURCE=.\toggle.cpp
# End Source File
# Begin Source File

View File

@@ -620,9 +620,9 @@
RelativePath=".\textctrl.cpp">
</File>
<File
RelativePath=".\timepick.cpp">
</File>
<File
RelativePath=".\timepick.cpp">
</File>
<File
RelativePath=".\toggle.cpp">
</File>
<File

View File

@@ -908,10 +908,10 @@
>
</File>
<File
RelativePath=".\timepick.cpp"
>
</File>
<File
RelativePath=".\timepick.cpp"
>
</File>
<File
RelativePath=".\toggle.cpp"
>
</File>

View File

@@ -880,10 +880,10 @@
>
</File>
<File
RelativePath=".\timepick.cpp"
>
</File>
<File
RelativePath=".\timepick.cpp"
>
</File>
<File
RelativePath=".\toggle.cpp"
>
</File>