Browse Source

Make a naming change to be consistent with other cross compiling tools.
Set up a default lib dir off the root of the uClibc compile dir. This
really needs more thought, but is good enough for now I think.

Eric Andersen 23 years ago
parent
commit
e990ae71cb
2 changed files with 12 additions and 26 deletions
  1. 4 26
      extra/gcc-uClibc/Makefile
  2. 8 0
      extra/gcc-uClibc/gcc-uClibc.c

+ 4 - 26
extra/gcc-uClibc/Makefile

@@ -1,4 +1,3 @@
-
 TOPDIR = ../../
 include $(TOPDIR)Rules.mak
 
@@ -16,16 +15,10 @@ GCC_BIN = $(CC)
 GCC_LIB = $(shell $(CC) -print-libgcc-file-name )
 #GCCINCDIR inherited from Rules.mak
 
-NATIVE_ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/')
-GCC_UCLIBC = gcc-uClibc-cross
-ifeq ($(TARGET_ARCH), $(NATIVE_ARCH))
-	GCC_UCLIBC = gcc-uClibc-native
-endif
-
-all: $(GCC_UCLIBC)
+all: gcc-uClibc
 
 clean:
-	rm -f gcc-uClibc.h gcc-uClibc-* core
+	rm -f gcc-uClibc.h *-gcc-uclibc core
 
 gcc-uClibc.h: clean
 	@echo "/* this file is created by make */" > gcc-uClibc.h
@@ -36,21 +29,6 @@ gcc-uClibc.h: clean
 	@echo "#define TARGET_ARCH " \"$(TARGET_ARCH)\" >> gcc-uClibc.h
 	@echo "#define DYNAMIC_LINKER " \"$(DYNAMIC_LINKER)\" >> gcc-uClibc.h
 
-# uClibc built for native environment, so why not use it ;-)
-# Use the system libc instead of uClibc, to facilitate bootstrapping
-# new architectures.
-#gcc-uClibc-native: gcc-uClibc.h gcc-uClibc.c
-#	$(CC) $(CFLAGS) -nostdinc -I$(UCLIBC_DIR)/include -I$(GCC_INC) \
-#		-Wl,-static gcc-uClibc.c \
-#		$(UCLIBC_DIR)/crt0.o \
-#		-nostdlib $(GCC_LIB) $(UCLIBC_DIR)/libc.a \
-#		-s -o gcc-uClibc-$(TARGET_ARCH) #-DDEBUG
-
-gcc-uClibc-native: gcc-uClibc.h gcc-uClibc.c
-#	don't use CFLAGS since may not be appropriate
-	gcc -s gcc-uClibc.c -o gcc-uClibc-$(TARGET_ARCH)
-
-gcc-uClibc-cross: gcc-uClibc.h gcc-uClibc.c
-#	don't use CFLAGS since may not be appropriate
-	gcc -s gcc-uClibc.c -o gcc-uClibc-$(TARGET_ARCH)
+gcc-uClibc: gcc-uClibc.h gcc-uClibc.c
+	gcc -Wall -O2 -s gcc-uClibc.c -o $(TARGET_ARCH)-uclibc-gcc
 

+ 8 - 0
extra/gcc-uClibc/gcc-uClibc.c

@@ -48,6 +48,14 @@ int main(int argc, char **argv)
 	char ** gcc_argv;
 
 	source_count = 0;
+	/* FIXME: We need to work out the install vs use-in-built-dir
+	 * issue..*/
+	/* Apparently gcc doesn't accept this stuff via the command line */
+	setenv("COMPILER_PATH", UCLIBC_DIR"extra/gcc-uClibc/", 1);
+	setenv("LIBRARY_PATH", UCLIBC_DIR"lib/", 1);
+	/* The double '/' works around a gcc bug */
+	setenv("GCC_EXEC_PREFIX", UCLIBC_DIR"extra/gcc-uClibc//", 1); 
+
 
 	for ( i = 1 ; i < argc ; i++ ) {
 		if (argv[i][0] == '-') { /* option */