don't let dlltool mess up c++ mangled exports for crtdll and msvcrt
authorThomas Bluemel <thomas@reactsoft.com>
Sun, 3 Oct 2004 14:24:43 +0000 (14:24 +0000)
committerThomas Bluemel <thomas@reactsoft.com>
Sun, 3 Oct 2004 14:24:43 +0000 (14:24 +0000)
svn path=/trunk/; revision=11166

reactos/lib/crtdll/makefile
reactos/lib/msvcrt/Makefile
reactos/lib/msvcrt20/Makefile
reactos/tools/helper.mk

index d689b7f..c1dd1a2 100644 (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
index 17b8c79..3442ca9 100644 (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
index 7b23526..0564e61 100644 (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
index b3ea0d7..3805b13 100644 (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