Skip to content

Commit ccb961c

Browse files
committed
Use bcc64x as linker
1 parent 5b4c244 commit ccb961c

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

templates/bmake.mpd

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<%foreach(compilers)%>
1010
!ifdef <%normalize(uc(compiler))%>
1111
CC = <%cc%>
12+
PATH_SEPERATOR = <%path_seperator%>
1213
OPTIMIZE_CFLAGS = <%optimize_flags%>
1314
PDB_FLAGS = <%pdb_flags%>
1415
DEBUG_CFLAGS = <%debug_flags%>
@@ -107,7 +108,7 @@ STARTUP_LETTER = <%startup_letter%>
107108
<%endif%>
108109
STARTUP_OBJ = c0$(STARTUP_LETTER)$(STARTUP_BITS)$(UC_MAIN)$(OBJ_EXT)
109110

110-
INTERMEDIATE = $(CFG_DIR)$(UNICODE_DIR)<%noextension(project_name)%>
111+
INTERMEDIATE = $(CFG_DIR)$(PATH_SEPERATOR)$(UNICODE_DIR)$(PATH_SEPERATOR)<%noextension(project_name)%>$(PATH_SEPERATOR)
111112
<%if(exename)%>
112113
NAME = <%exename%>$(EXEMODIFIER)
113114
<%else%>
@@ -125,7 +126,7 @@ RESDIR = <%rcdir%>
125126

126127
OBJFILES = \
127128
<%foreach(source_files)%>
128-
"$(INTERMEDIATE)\<%transdir(source_file)%><%basenoextension(source_file)%>$(OBJ_EXT)"<%fornotlast(" \\")%>
129+
"$(INTERMEDIATE)$(PATH_SEPERATOR)<%transdir(source_file)%><%basenoextension(source_file)%>$(OBJ_EXT)"<%fornotlast(" \\")%>
129130
<%endfor%>
130131
<%endif%>
131132
<%if(libpaths)%>

templates/bmakecommon.mpt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ rc = brcc32
1515
libflags = /C
1616

1717
bcc32 {
18+
path_seperator = \\
1819
debug_flags = -v -y -Od -vi- -k
1920
release_flags =
2021
optimize_flags = -O1
@@ -44,6 +45,7 @@ linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPU
4445
}
4546

4647
bcc32c {
48+
path_seperator = \\
4749
debug_flags = -Od -vi-
4850
release_flags =
4951
optimize_flags = -O3
@@ -72,6 +74,7 @@ linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPU
7274
}
7375

7476
bcc64 {
77+
path_seperator = \\
7578
debug_flags = -g -O0
7679
release_flags =
7780
optimize_flags = -O3
@@ -100,10 +103,11 @@ linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(STARTUP_OBJ) $(OBJFILES), $(OUTPU
100103
}
101104

102105
bcc64x {
106+
path_seperator = \\\\
103107
debug_flags = -g -O0
104108
release_flags = -Wno-ignored-attributes
105109
optimize_flags = -O3
106-
pdb_flags = -pdb $(OUTPUTDIR)$(NAME).pdb
110+
pdb_flags = -Xlinker -pdb -Xlinker $(OUTPUTDIR)$(NAME).pdb
107111
warn_flags =
108112
stack_flag = --stack=
109113
cc = bcc64x
@@ -113,18 +117,18 @@ lib_ext = .lib
113117
common_defines = WIN32 _WINDOWS WIN64
114118
common_flags = -Qunused-arguments
115119
obj_ext = .o
116-
linker_paths = -L\"$(BDS)\lib\win64x\debug\" -L\"$(BDS)\lib\win64x\release\" -L\"$(BDS)\x86_64-w64-mingw32\lib\" -L\"$(BDS)\lib\clang\15.0.7\lib\windows\"
120+
linker_paths = -L\"$(BDS)\lib\win64x\debug\" -L\"$(BDS)\lib\win64x\release\" -L\"$(BDS)\x86_64-w64-mingw32\lib\"
117121
startup_bits = 64
118122
ccflags = -q
119-
link = ld.lld
120-
common_libs = crtbegin.o -lws2_32 -lmoldname -lucrt -lmingw32 -lmingwex -l\"c++\" -lunwind -lmingwthrd -l:import64$(LIB_EXT) -lclang_rt.builtins-x86_64
123+
link = bcc64x
124+
common_libs = -lcrtbegin.o -lws2_32 -lmoldname -lucrt -lmingw32 -lmingwex -l\"c++\" -lunwind -lmingwthrd -l:import64$(LIB_EXT) -lclang_rt.builtins-x86_64
121125
platform_libs_prefix = -l
122126
dll_libs = dllcrt2.o
123127
exe_libs = crt2.o
124128
tlib = tlib64
125-
dllflags = -m i386pep -shared --Bdynamic --enable-auto-image-base
126-
exeflags = -m i386pep --Bdynamic
129+
dllflags = -Xlinker -m -Xlinker i386pep -Xlinker -shared -Xlinker --Bdynamic -Xlinker --enable-auto-image-base
130+
exeflags = -Xlinker -m -Xlinker i386pep -Xlinker --Bdynamic
127131
object_search_path = 0
128-
linker_dll_arguments = $(DLLFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(DLL_EXT) --out-implib $(OUTPUTDIR)$(NAME).lib $(DLLLIBS) $(LIBFILES) $(RESOURCE)
129-
linker_exe_arguments = $(EXEFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(EXE_EXT) $(EXELIBS) $(LIBFILES) $(RESOURCE)
132+
linker_dll_arguments = --driver-mode=g++ $(DLLFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(DLL_EXT) -Xlinker --out-implib -Xlinker $(OUTPUTDIR)$(NAME).lib $(DLLLIBS) $(LIBFILES) $(RESOURCE)
133+
linker_exe_arguments = --driver-mode=g++ $(EXEFLAGS) $(LFLAGS) $(OBJFILES) -o $(OUTPUTDIR)$(NAME)$(EXE_EXT) $(EXELIBS) $(LIBFILES) $(RESOURCE)
130134
}

0 commit comments

Comments
 (0)