+else
+
+# The new linker is a few orders of magnitude faster than the old way
+# of creating DLLs.
+ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes"
+
+$(WXDLL): $(OBJECTS) $(EXTRAOBJS)
+ $(CC) -shared -o $@ \
+ -Wl,--output-def,$(WXDEF) \
+ -Wl,--out-implib,$(WXLIB) \
+ $(OBJECTS) $(EXTRAOBJS) \
+ $(DLL_LDFLAGS) $(DLL_LDLIBS)
+else
+
+ifeq ($(MINGW32),1)
+ DLL_ENTRY = _DllMainCRTStartup@12
+else
+ DLL_ENTRY = __cygwin_dll_entry@12
+endif
+LD_STUFF = $(OBJECTS) $(EXTRAOBJS) -Wl,-e,$(DLL_ENTRY) \
+ $(DLL_LDFLAGS) $(DLL_LDLIBS) #-Wl,--image-base=0x66000000
+
+DLL_STUFF = --as=$(AS) --dllname $(notdir $(WXDLL)) \
+ --def $(WXDEF) \
+ --base-file wx.base --output-exp wx.exp
+
+$(WXDEF) $(WXLIB): $(OBJECTS) $(EXTRAOBJS)
+ $(DLLTOOL) --output-def $@ --output-lib $(WXLIB) \
+ --dllname $(notdir $(WXDLL)) \
+ $(OBJECTS) $(EXTRAOBJS) $(DLL_EXTRA_LIBS)
+
+$(WXDLL): $(OBJECTS) $(EXTRAOBJS) $(WXDEF)
+ $(CC) -mdll -Wl,--base-file,wx.base -s -o $@ $(LD_STUFF)
+ $(DLLTOOL) $(DLL_STUFF)
+ $(CC) -mdll -Wl,--base-file,wx.base wx.exp -s -o $@ $(LD_STUFF)
+ $(DLLTOOL) $(DLL_STUFF)
+ $(CC) -mdll wx.exp -o $@ $(LD_STUFF)
+ -$(RM) wx.base
+ -$(RM) wx.exp
+
+endif
+
+endif
+
+