From c1fdc3b5d13d0ff3416a0194b576000dfc866374 Mon Sep 17 00:00:00 2001 From: Aren Villanueva Date: Mon, 2 Nov 2015 10:55:15 +1100 Subject: Compile fixes for mingw msys2. The drivers directory has way too many source files being compiled for a single library file. The command line length limit was getting hit. --- drivers/SCsub | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/drivers/SCsub b/drivers/SCsub index bc46bf2cec..fd77931a29 100644 --- a/drivers/SCsub +++ b/drivers/SCsub @@ -64,26 +64,33 @@ if env['vsproj']=="yes": env.AddToVSProject(env.drivers_sources) for f in env.drivers_sources: - fname = "" - if type(f) == type(""): - fname = env.File(f).path - else: - fname = env.File(f)[0].path - #base = string.join(fname.split("/")[:-1], "/") - fname = fname.replace("\\", "/") - base = string.join(fname.split("/")[:2], "/") - if base != cur_base and len(list) > max_src: - lib = env.Library("drivers"+str(num), list) - lib_list.append(lib) - list = [] - num = num+1 - cur_base = base - list.append(f) - -if len(list) > 0: - lib = env.Library("drivers"+str(num), list) - lib_list.append(lib) + fname = "" + if type(f) == type(""): + fname = env.File(f).path + else: + fname = env.File(f)[0].path + fname = fname.replace("\\", "/") + base = string.join(fname.split("/")[:2], "/") + if base != cur_base or len(list) > max_src: + if num > 0: + lib = env.Library("drivers"+str(num), list) + lib_list.append(lib) + list = [] + num = num+1 + cur_base = base + list.append(f) +lib = env.Library("drivers"+str(num), list) +lib_list.append(lib) + +if len(lib_list) > 0: + import os, sys + if os.name=='posix' and sys.platform=='win32': + env.Replace(ARFLAGS=['rcsT']) + + lib = env.Library("drivers_collated", lib_list) + env.Replace(ARFLAGS=['rc']) + lib_list = [lib] drivers_base=[] env.add_source_files(drivers_base,"*.cpp") -- cgit v1.2.3