Skip to content

Commit efafed8

Browse files
committed
Linker improvements for bcc64x
1 parent 1af1f2a commit efafed8

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

templates/bmake.mpd

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ LINKER_PATHS = <%linker_paths%>
2323
STARTUP_BITS = <%startup_bits%>
2424
LINK = <%link%>
2525
COMMON_LIBS = <%common_libs%>
26+
DLLLIBS = <%dll_libs%>
27+
EXELIBS = <%exe_libs%>
2628
TLIB = <%tlib%>
2729
DLLFLAGS = <%dllflags%>
2830
<%if(pch)%>PCH = 1<%endif%>
@@ -32,6 +34,7 @@ OBJECTSEARCHPATH = \
3234
-j"<%libpath%>"<%fornotlast(" \\")%>
3335
<%endfor%>
3436
<%endif%>
37+
EXEFLAGS = <%exeflags%>
3538
LINKER_DLL_ARGUMENTS = <%linker_dll_arguments%>
3639
LINKER_EXE_ARGUMENTS = <%linker_exe_arguments%>
3740
!else
@@ -89,7 +92,6 @@ DLL_EXT = <%dll_ext%>
8992
EXE_EXT = <%exe_ext%>
9093
RC = <%rc%>
9194
LIBFLAGS = <%libflags%>
92-
EXEFLAGS = <%exeflags%>
9395
CCFLAGS = $(CC_CFLAGS)<%if(type_is_binary)%> $(BINARY_FLAGS)<%endif%><%if(compile_flags)%> <%compile_flags%><%endif%>
9496

9597
<%if(use_vcl)%>

templates/bmakecommon.mpt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ dll_ext = .dll
1313
exe_ext = .exe
1414
rc = brcc32
1515
libflags = /C
16-
exeflags = -Tpe -x -Gn
1716

1817
bcc32 {
1918
debug_flags = -v -y -Od -vi- -k
@@ -35,6 +34,7 @@ pch = 1
3534
ccflags = -q
3635
dllflags = -Tpd -Gi -x -Gn -w-dup
3736
object_search_path = 1
37+
exeflags = -Tpe -x -Gn
3838
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(DLL_EXT),, $(LIBFILES),, $(RESOURCE)
3939
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(EXE_EXT),, $(LIBFILES),, $(RESOURCE)
4040
}
@@ -58,6 +58,7 @@ tlib = tlib
5858
ccflags = -q
5959
dllflags = -Tpd -Gi -x -Gn -w-dup
6060
object_search_path = 1
61+
exeflags = -Tpe -x -Gn
6162
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(DLL_EXT),, $(LIBFILES),, $(RESOURCE)
6263
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(EXE_EXT),, $(LIBFILES),, $(RESOURCE)
6364
}
@@ -80,6 +81,7 @@ common_libs = ws2_32$(LIB_EXT) import64$(LIB_EXT) cw64mti$(LIB_EXT)
8081
tlib = tlib64
8182
ccflags = -q
8283
dllflags = -Tpd -Gi -x -Gn -w-dup
84+
exeflags = -Tpe -x -Gn
8385
object_search_path = 1
8486
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(DLL_EXT),, $(LIBFILES),, $(RESOURCE)
8587
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(EXE_EXT),, $(LIBFILES),, $(RESOURCE)
@@ -100,10 +102,13 @@ linker_paths = -L\"$(BDS)\lib\win64x\debug\" -L\"$(BDS)\lib\win64x\release\" -L\
100102
startup_bits = 64
101103
ccflags = -q
102104
link = ld.lld
103-
common_libs = dllcrt2.o crtbegin.o ws2_32$(LIB_EXT) -lmoldname -lucrt -lmingw32 -lmingwex -l"c++" -lunwind -lmingwthrd -l:import64$(LIB_EXT) dllcrt2.o crtbegin.o libclang_rt.builtins-x86_64.a
105+
common_libs = crtbegin.o ws2_32$(LIB_EXT) -lmoldname -lucrt -lmingw32 -lmingwex -l\"c++\" -lunwind -lmingwthrd -l:import64$(LIB_EXT) libclang_rt.builtins-x86_64.a
106+
dll_libs = dllcrt2.o
107+
exe_libs = crt2.o
104108
tlib = tlib64
105109
dllflags = -m i386pep -shared --Bstatic --enable-auto-image-base
110+
exeflags = -m i386pep --Bstatic
106111
object_search_path = 0
107-
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(DLL_EXT) --out-implib $(OUTPUTDIR)$(NAME).lib $(LIBFILES) $(RESOURCE)
108-
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPUTDIR)$(NAME)$(EXE_EXT),, $(LIBFILES),, $(RESOURCE)
112+
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(DLL_EXT) --out-implib $(OUTPUTDIR)$(NAME).lib $(DLLLIBS) $(LIBFILES) $(RESOURCE)
113+
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME).exe $(EXELIBS) $(LIBFILES) $(RESOURCE)
109114
}

0 commit comments

Comments
 (0)