Index: branches/xZenu/src/modules/uClibcxx/include/char_traits =================================================================== --- branches/xZenu/src/modules/uClibcxx/include/char_traits (revision 1271) +++ branches/xZenu/src/modules/uClibcxx/include/char_traits (revision 1272) @@ -21,10 +21,6 @@ #include #include -#ifdef __UCLIBCXX_HAS_WCHAR__ -#include -#include -#endif #ifndef __HEADER_CHAR_TRAITS #define __HEADER_CHAR_TRAITS 1 @@ -110,88 +106,6 @@ return a; } }; - - -#ifdef __UCLIBCXX_HAS_WCHAR__ - template<> struct _UCXXEXPORT char_traits { - typedef wchar_t char_type; - typedef wint_t int_type; - typedef char_traits_off_type off_type; - typedef char_traits_off_type pos_type; - typedef mbstate_t state_type; - - static void assign(char_type & c, const char_type & d){ c=d; } - - static char_type to_char_type(const int_type & i){ - return i; - } - - static int_type to_int_type(const char_type & c){ - return c; - } - - inline static bool eq_int_type(const int_type & a, const int_type & b){ - if(a==b){ - return true; - } - return false; - } - - inline static bool eq(const char_type& c1, const char_type& c2){ - if(wcsncmp(&c1, &c2, 1) == 0){ - return true; - } - return false; - } - - inline static bool lt(const char_type& c1, const char_type& c2){ - if(wcsncmp(&c1, &c2, 1) < 0){ - return true; - } - return false; - } - - inline static char_type* move(char_type* s1, const char_type* s2, size_t n){ - return (char_type*) memmove(s1, s2, n * sizeof(char_type)); - } - - inline static char_type* copy(char_type* s1, const char_type* s2, size_t n){ - for(unsigned long int i=0; i< n; ++i){ - assign(s1[i], s2[i]); - } - return s1 + n; - } - - inline static char_type* assign(char_type* s, size_t n, char_type a){ - return (char_type *)memset(s, a, n); /*FIXME*/ - } - - inline static int compare(const char_type* s1, const char_type* s2, size_t n){ - return wcsncmp(s1, s2, n); - } - - inline static size_t length(const char_type* s){ - return wcslen(s); - } - - static const char_type* find(const char_type* s, int n, const char_type& a); - - inline static char_type eos() { return 0; } - inline static int_type eof() { return WEOF; } - inline static int_type not_eof(const int_type & i) { - if(i == WEOF){ - return (int_type)0; - } else { - return i; - } - } - static state_type get_state(pos_type){ - state_type a; - return a; - } - }; -#endif - } #endif Index: branches/xZenu/src/modules/MakeInc.dir =================================================================== --- branches/xZenu/src/modules/MakeInc.dir (revision 1271) +++ branches/xZenu/src/modules/MakeInc.dir (revision 1272) @@ -76,11 +76,11 @@ ifeq ($(BUILT_IN),yes) ####### Make this *BUILT IN* ###### -all: ${OBJROOT} dylib_LINKER +all: ${OBJROOT} ${MODULE_OBJECTS} else ####### Don't build in module ###### -all: +all: ${OBJROOT} dylib_LINKER endif else @@ -92,16 +92,15 @@ endif -dylib_LINKER: ${OBJROOT} $(SYMROOT)/boot_modules.c $(SYMROOT)/boot_modules.h dylib +dylib_LINKER: ${OBJROOT} $(SYMROOT)/boot_modules.c $(SYMROOT)/boot_modules.h $(SYMROOT)/$(MODULE_NAME).${ARCH}.linker.dylib dylib: ${OBJROOT} $(SYMROOT)/$(MODULE_NAME).${ARCH}.dylib -ifeq ($(BUILT_IN),yes) ###### Build module into the code binary ###### -$(SYMROOT)/$(MODULE_NAME).${ARCH}.dylib: $(MODULE_DEPENDENCIES) ${MODULE_OBJECTS} $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author Makefile - @echo "\t[LD:${ARCH}] $(MODULE_NAME).${ARCH}.dylib" - ld -arch ${ARCH} -undefined dynamic_lookup \ +$(SYMROOT)/$(MODULE_NAME).${ARCH}.linker.dylib: $(MODULE_DEPENDENCIES) ${MODULE_OBJECTS} $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author Makefile + @ld -arch ${ARCH} \ + -alias _$(MODULE_START) start \ -dylib -read_only_relocs suppress \ -S -x -Z -dead_strip_dylibs \ -no_uuid \ @@ -109,20 +108,12 @@ -final_output $(MODULE_NAME) \ $(filter %.${ARCH}o,$^) \ ${DYLIB_O} \ - -macosx_version_min 10.5 \ + -weak_library $(ROOT)/obj/${ARCH}/boot2/Symbols_LINKER_ONLY.dylib \ + $(MODULE_DEPENDENCIES_CMD) \ -sectcreate __INFO __author $(OBJROOT)/$(MODULE_NAME).author \ -sectcreate __INFO __description $(OBJROOT)/$(MODULE_NAME).desc \ - -o $(SYMROOT)/$(MODULE_NAME).${ARCH}.dylib - - - @#@echo "\t[LIPO] $(@F)" - @#@lipo -create -arch i386 $(SYMROOT)/$(MODULE_NAME).i386.dylib \ - @# -arch ppc $(SYMROOT)/$(MODULE_NAME).ppc.dylib \ - @# -arch ${ARM_ARCH} $(SYMROOT)/$(MODULE_NAME).arm.dylib \ - @# -output $(SYMROOT)/$(MODULE_NAME).dylib - - @#@rm $(SYMROOT)/$(MODULE_NAME).i386.dylib $(SYMROOT)/$(MODULE_NAME).ppc.dylib $(SYMROOT)/$(MODULE_NAME).arm.dylib -else + -macosx_version_min 10.6 \ + -o $@ ##### BUild module as a seperate module ##### $(SYMROOT)/$(MODULE_NAME).${ARCH}.dylib: $(MODULE_DEPENDENCIES) ${MODULE_OBJECTS} $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author $(SRCROOT)/obj/i386/boot2/Symbols_LINKER_ONLY.dylib Makefile @@ -137,14 +128,12 @@ -final_output $(MODULE_NAME) \ $(filter %.${ARCH}o,$^) \ ${DYLIB_O} \ - -weak_library $(SRCROOT)/obj/i386/boot2/Symbols_LINKER_ONLY.dylib \ + -weak_library $(ROOT)/obj/${ARCH}/boot2/Symbols_LINKER_ONLY.dylib \ $(MODULE_DEPENDENCIES_CMD) \ -sectcreate __INFO __author $(OBJROOT)/$(MODULE_NAME).author \ -sectcreate __INFO __description $(OBJROOT)/$(MODULE_NAME).desc \ - -macosx_version_min 10.5 \ + -macosx_version_min 10.6 \ -o $@ - -endif #clean: Index: branches/xZenu/src/Makefile =================================================================== --- branches/xZenu/src/Makefile (revision 1271) +++ branches/xZenu/src/Makefile (revision 1272) @@ -6,7 +6,7 @@ DSTROOT = $(ROOT)/dst DOCROOT = $(ROOT)/doc -SUBDIRS=util modules arch +SUBDIRS=util arch modules all: @echo ================= make $@ BUILT_IN=yes for modules arch $(ARCH) ================= Index: branches/xZenu/src/arch/ppc/Make.rules =================================================================== --- branches/xZenu/src/arch/ppc/Make.rules (revision 1271) +++ branches/xZenu/src/arch/ppc/Make.rules (revision 1272) @@ -4,7 +4,7 @@ TARGET_CPP = /usr/bin/g++-4.2 TARGET_SDK = /Developer/SDKs/MacOSX10.5.sdk/ -TARGET_CFLAGS += -I"$(TARGET_SDK)/usr/include" +#TARGET_CFLAGS += -I"$(TARGET_SDK)/usr/include" TARGET_LDFLAGS += -L"$(TARGET_SDK)/usr/lib" TARGET_LDFLAGS += -L"$(TARGET_SDK)/usr/lib/system/" TARGET_LDFLAGS += -F"$(TARGET_SDK)/System/Library/Frameworks" Index: branches/xZenu/src/arch/i386/boot2/Makefile =================================================================== --- branches/xZenu/src/arch/i386/boot2/Makefile (revision 1271) +++ branches/xZenu/src/arch/i386/boot2/Makefile (revision 1272) @@ -67,13 +67,12 @@ -nostdlib -arch ${ARCH} -static \ -o $(SYMROOT)/boot.sys $(filter %.o,$^) `find $(OBJROOT)/../../boot2_modules/ -name \*.${ARCH}o` $(LIBS) -ifeq (${CONFIG_MODULES}, y) @cp $(SYMROOT)/boot.sys $(SYMROOT)/boot2.sys @# Generate the Symbols.dylib file @echo "\t[dyldsymboltool] Symbols.dylib" - @$(SYMROOT)/dyldsymboltool $(SYMROOT)/boot.sys $(SYMROOT)/${SYMBOLS_MODULE} + @$(SYMROOT)/../util/dyldsymboltool.${ARCH} $(SYMROOT)/boot.sys $(SYMROOT)/${SYMBOLS_MODULE} @echo "\t[LD] boot.sys" @$(CC) -static -Wl,-preload -Wl,-segaddr,__INIT,$(BOOT2ADDR) \ @@ -86,7 +85,7 @@ @# Generate the Symbols.dylib file @echo "\t[dyldsymboltool] Symbols.dylib" - @$(SYMROOT)/dyldsymboltool $(SYMROOT)/boot.sys $(SYMROOT)/${SYMBOLS_MODULE} + @$(SYMROOT)/../util/dyldsymboltool.${ARCH} $(SYMROOT)/boot.sys $(SYMROOT)/${SYMBOLS_MODULE} @${RM} $(SYMROOT)/boot.sys @echo "\t[LD] boot.sys" @@ -107,8 +106,6 @@ -macosx_version_min 10.6 \ -o $(OBJROOT)/Symbols_LINKER_ONLY.dylib -endif - @# this is done in a sub process after boot.sys exists so the strings are populated correctly @make embed_symbols @@ -126,14 +123,13 @@ fi) embed_symbols: -ifeq (${CONFIG_MODULES}, y) @echo ================= Embedding Symbols.dylib ================= @echo "\t[MACHOCONV] boot" @${MACHOCONV} $(SYMROOT)/boot2.sys $(SYMROOT)/boot &> /dev/null @echo "\t******* Patching at $(PATCH_ADDR) ******" @stat -f%z $(SYMROOT)/boot | perl -ane "print pack('V',@F[0]);" | dd conv=notrunc of=${SYMROOT}/boot.sys bs=1 count=4 seek=$(PATCH_ADDR) &> /dev/null -endif + @echo "\t[MACHOCONV] boot" @${MACHOCONV} $(SYMROOT)/boot.sys $(SYMROOT)/boot