diff options
-rw-r--r-- | extra/gcc-uClibc/Makefile | 30 | ||||
-rw-r--r-- | extra/gcc-uClibc/gcc-uClibc.c | 8 |
2 files changed, 12 insertions, 26 deletions
diff --git a/extra/gcc-uClibc/Makefile b/extra/gcc-uClibc/Makefile index 4038142bf..7878c880f 100644 --- a/extra/gcc-uClibc/Makefile +++ b/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 diff --git a/extra/gcc-uClibc/gcc-uClibc.c b/extra/gcc-uClibc/gcc-uClibc.c index a628705ea..5abad4c8f 100644 --- a/extra/gcc-uClibc/gcc-uClibc.c +++ b/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 */ |