don't let dlltool mess up c++ mangled exports for crtdll and msvcrt

svn path=/trunk/; revision=11166
This commit is contained in:
Thomas Bluemel 2004-10-03 14:24:43 +00:00
parent c0f9c7505c
commit 737ea5b737
4 changed files with 23 additions and 9 deletions

View file

@ -1,4 +1,4 @@
# $Id: makefile,v 1.67 2004/09/16 10:25:12 gvg Exp $
# $Id: makefile,v 1.68 2004/10/03 14:24:42 weiden Exp $
PATH_TO_TOP = ../..
@ -12,6 +12,9 @@ TARGET_PCH = precomp.h
TARGET_BASE = $(TARGET_BASE_LIB_CRTDLL)
# don't remove @nn from exported symbols - needed so dlltool doesn't mess up mangled c++ exports
RM_AT_FROM_SYMBOLS = no
TARGET_LFLAGS = -nostartfiles -nostdlib
TARGET_CFLAGS = -D_MSVCRT_LIB_ -Werror -Wall

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.47 2004/08/27 03:08:23 navaraf Exp $
# $Id: Makefile,v 1.48 2004/10/03 14:24:43 weiden Exp $
PATH_TO_TOP = ../..
@ -12,6 +12,9 @@ TARGET_PCH = precomp.h
TARGET_BASE = $(TARGET_BASE_LIB_MSVCRT)
# don't remove @nn from exported symbols - needed so dlltool doesn't mess up mangled c++ exports
RM_AT_FROM_SYMBOLS = no
TARGET_LFLAGS = -nostartfiles --enable-stdcall-fixup
TARGET_SDKLIBS = libwine.a string.a kernel32.a ntdll.a

View file

@ -9,6 +9,9 @@ TARGET_NAME = msvcrt20
TARGET_BASE = $(TARGET_BASE_LIB_MSVCRT20)
# don't remove @nn from exported symbols - needed so dlltool doesn't mess up mangled c++ exports
RM_AT_FROM_SYMBOLS = no
TARGET_LFLAGS = -nostartfiles --enable-stdcall-fixup
TARGET_SDKLIBS = libwine.a string.a kernel32.a ntdll.a

View file

@ -1,4 +1,4 @@
# $Id: helper.mk,v 1.82 2004/10/02 14:03:51 chorns Exp $
# $Id: helper.mk,v 1.83 2004/10/03 14:24:43 weiden Exp $
#
# Helper makefile for ReactOS modules
# Variables this makefile accepts:
@ -357,6 +357,11 @@ endif
# can be overidden with $(CXX) for linkage of c++ executables
LD_CC = $(CC)
ifeq ($(RM_AT_FROM_SYMBOLS),no)
MK_KILLAT :=
else
MK_KILLAT := --kill-at
endif
ifeq ($(TARGET_TYPE),program)
ifeq ($(TARGET_APPTYPE),windows)
@ -671,7 +676,7 @@ $(MK_IMPLIBPATH)/$(MK_IMPLIB_FULLNAME): $(MK_OBJECTS) $(MK_DEFNAME)
--dllname $(MK_FULLNAME) \
--def $(MK_DEFNAME) \
--output-lib $(MK_IMPLIBPATH)/$(MK_BASENAME).a \
--kill-at
$(MK_KILLAT)
else # MK_IMPLIBONLY
@ -720,7 +725,7 @@ ifeq ($(MK_EXETYPE),dll)
- $(RM) junk.tmp
$(DLLTOOL) --dllname $(MK_FULLNAME) \
--base-file base.tmp \
--output-exp temp.exp --kill-at $(MK_EXTRACMD)
--output-exp temp.exp $(MK_KILLAT) $(MK_EXTRACMD)
- $(RM) base.tmp
endif
$(LD_CC) $(TARGET_LFLAGS) \
@ -762,7 +767,7 @@ ifeq ($(MK_EXETYPE),dll)
- $(RM) junk.tmp
$(DLLTOOL) --dllname $(MK_FULLNAME) \
--base-file base.tmp \
--output-exp temp.exp --kill-at $(MK_EXTRACMD)
--output-exp temp.exp $(MK_KILLAT) $(MK_EXTRACMD)
- $(RM) base.tmp
endif
$(LD_CC) $(TARGET_LFLAGS) \
@ -798,7 +803,7 @@ $(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_OBJECTS) $(MK_LIBS)
- $(RM) junk.tmp
$(DLLTOOL) --dllname $(MK_FULLNAME) \
--base-file base.tmp \
--output-exp temp.exp $(MK_EXTRACMD) --kill-at
--output-exp temp.exp $(MK_EXTRACMD) $(MK_KILLAT)
- $(RM) base.tmp
$(LD_CC) $(TARGET_LFLAGS) \
-Wl,--subsystem,native \
@ -830,7 +835,7 @@ endif
- $(RM) junk.tmp
$(DLLTOOL) --dllname $(MK_FULLNAME) \
--base-file base.tmp \
--output-exp temp.exp $(MK_EXTRACMD) --kill-at
--output-exp temp.exp $(MK_EXTRACMD) $(MK_KILLAT)
- $(RM) base.tmp
$(LD_CC) $(TARGET_LFLAGS) \
-Wl,--subsystem,native \
@ -881,7 +886,7 @@ $(MK_IMPLIBPATH)/$(MK_BASENAME).a: $(MK_DEFNAME)
$(DLLTOOL) --dllname $(MK_FULLNAME) \
--def $(MK_DEFNAME) \
--output-lib $(MK_IMPLIBPATH)/$(MK_BASENAME).a \
--kill-at
$(MK_KILLAT)
implib: $(MK_IMPLIBPATH)/$(MK_BASENAME).a
else