diff lwlink/readfiles.c @ 179:606123758641

Added --sysroot support to lwlink and the ld wrapper script
author lost@l-w.ca
date Thu, 15 Sep 2011 17:08:16 -0600
parents fc8386b13399
children ce1fdc8d6568
line wrap: on
line diff
--- a/lwlink/readfiles.c	Fri Sep 09 22:08:07 2011 -0600
+++ b/lwlink/readfiles.c	Thu Sep 15 17:08:16 2011 -0600
@@ -77,9 +77,19 @@
 			
 			for (j = 0; j < nlibdirs; j++)
 			{
-				s = strlen(libdirs[j]) + 7 + strlen(inputfiles[i] -> filename);
-				tf = lw_alloc(s + 1);
-				sprintf(tf, "%s/lib%s.a", libdirs[j], inputfiles[i] -> filename);
+				if (libdirs[j][0] == '=')
+				{
+					// handle sysroot
+					s = strlen(libdirs[j]) + 7 + strlen(sysroot) + strlen(inputfiles[i] -> filename);
+					tf = lw_alloc(s + 1);
+					sprintf(tf, "%s/%s/lib%s.a", sysroot, libdirs[j] + 1, inputfiles[i] -> filename);
+				}
+				else
+				{
+					s = strlen(libdirs[j]) + 7 + strlen(inputfiles[i] -> filename);
+					tf = lw_alloc(s + 1);
+					sprintf(tf, "%s/lib%s.a", libdirs[j], inputfiles[i] -> filename);
+				}
 				f = fopen(tf, "rb");
 				if (!f)
 				{