changeset 22:775c1fdc1730

Minor cleanup on the wrapper script (much more cleanup needed before it's remotely readable), and I figured out why uClibc utils weren't building.
author Rob Landley <rob@landley.net>
date Tue, 05 Dec 2006 20:29:21 -0500
parents c4e1bd04035d
children a5e004e33daa
files build.sh sources/toys/gcc-uClibc.c
diffstat 2 files changed, 10 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/build.sh	Tue Dec 05 20:03:08 2006 -0500
+++ b/build.sh	Tue Dec 05 20:29:21 2006 -0500
@@ -161,10 +161,14 @@
 make CROSS=${CROSS_TARGET}- KERNEL_SOURCE="${CROSS}"/ \
 	RUNTIME_PREFIX="${CROSS}"/ DEVEL_PREFIX="${CROSS}"/ \
 	install_runtime install_dev &&
-
-# TODO: This is where things stop working...
-
-make CROSS=${CROSS_TARGET}- RUNTIME_PREFIX="${CROSS}"/// DEVEL_PREFIX="${CROSS}"////// install_utils &&
+# The uClibc build uses ./include instead of ${CROSS}/include, so the symlinks
+# need to come back.  (Yes, it links against the _headers_ from the source,
+# but against the _libraries_ from the destination.  Hence needing to install
+# libc.so before building utils.)
+ln -s ${CROSS}"/include/linux include/linux &&
+ln -s ${CROSS}"/include/asm include/asm &&
+ln -s ${CROSS}"/include/asm-generic include/asm-generic &&
+make CROSS=${CROSS_TARGET}- RUNTIME_PREFIX="${CROSS}"/ install_utils &&
 cd .. &&
 $CLEANUP uClibc-*
 
--- a/sources/toys/gcc-uClibc.c	Tue Dec 05 20:03:08 2006 -0500
+++ b/sources/toys/gcc-uClibc.c	Tue Dec 05 20:29:21 2006 -0500
@@ -1,10 +1,8 @@
 /* vi: set ts=4 :*/
-
-#define TARGET_DIR "gcc/armv4l-unknown-linux/gnu/4.1.1"
-
 /*
  * Copyright (C) 2000 Manuel Novoa III
  * Copyright (C) 2002-2003 Erik Andersen
+ * Copyright (C) 2006 Rob Landley <rob@landley.net>
  *
  * Wrapper to use uClibc with gcc, and make gcc relocatable.
  */
@@ -119,16 +117,6 @@
 
 		temp = rindex(topdir,'/');
 		if(temp) *temp=0;
-		
-		//// Find the library directory.
-		//asprintf(&temp, "%s/"TARGET_DIR"/lib:%s/lib",topdir,topdir);
-		//topdir = find_in_path(temp, "ld-uClibc.so.0", 0);
-		//free(temp);
-		//if (!topdir) {
-		//	fprintf(stderr, "unable to find ld-uClibc.so.0 near '%s'\n", topdir);
-		//	exit(1);
-		//}
-		//*rindex(topdir,'/') = 0;
 	}
 
 	// What's the name of the C compiler we're wrapping?  (It may have a
@@ -425,6 +413,7 @@
 			gcc_argv[i++] = "-isystem";
 			asprintf(gcc_argv+(i++), "%sc++/4.1.1", uClibc_inc[use_build_dir]);
 			//char *cppinc;
+			//#define TARGET_DIR "gcc/armv4l-unknown-linux/gnu/4.1.1"
 			//xstrcat(&cppinc, uClibc_inc[use_build_dir], "c++/4.1.1/" TARGET_DIR, NULL);
 			//gcc_argv[i++] = "-isystem";
 			//gcc_argv[i++] = cppinc;