attaching patches to this
Created attachment 166306 [details] ebuild
Created attachment 166308 [details, diff] make it compile with FSF gcc
Created attachment 166309 [details, diff] don't install efi's manpages since we don't install efi
Created attachment 166311 [details, diff] don't create an OpenSource dir
Created attachment 166312 [details, diff] fix an include for rebase
Created attachment 166314 [details, diff] fix the test suite
Created attachment 166315 [details, diff] remove some warnings
TODOs * An equivalent for driver.c.diff is still missing * ranlib needs to behave like ranlib even when called by another name
TODO * make independent of apple's /usr/bin/make (e.g. by patching our make or providing apple-make)
turns out, while the makefiles enable all of the NEXT features in make(1), via export USE_APPLE_PB_SUPPORT = all, vpath is all that is require here, leaving us with export USE_APPLE_PB_SUPPORT = quiet vpath (since we don't want a bunch of warnings). We might hence get away by applying only some of the patches from http://www.opensource.apple.com/darwinsource/Current/gnumake-119/patches/
Created attachment 166396 [details, diff] fix the test suite even more (mostly bsd/gnu incompatibilities)
Created attachment 166398 [details] new ebuild
These paths are searched by default (taken from dylib_table.c): makestr(SYSTEM_LIBRARY,"/Frameworks/JavaVM.framework/Libraries/lib",name,".",versions[i],".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) makestr(SYSTEM_LIBRARY,"/PrivateFrameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) makestr(SYSTEM_LIBRARY,"Printers/",name,".",versions[i],".dylib",NULL) makestr("/Local/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) makestr("/MacOSX/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) makestr("/AppleInternal/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) makestr("/lib/",name,".",versions[i],".dylib",NULL) makestr("/usr/lib/",name,".",versions[i],".dylib",NULL) makestr("/usr/lib/java/",name,".",versions[i],".dylib",NULL) makestr("/usr/local/lib/",name,".",versions[i],".dylib",NULL) makestr("/usr/canna/dylib/",name,".",versions[i],".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/CarbonCore.framework/Versions/",versions[i],"/Support/",name,".dylib",NULL) makestr(SYSTEM_LIBRARY,"Frameworks/Carbon.framework/Versions/",versions[i],"/Libraries/",name,".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/CoreGraphics.framework/Versions/",versions[i],"/Libraries/",name,".",versions[i],".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Components/",name,".qtx",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/Carbon.framework/Versions/",versions[i],"/Resources//",name,".qtx",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/CoreGraphics.framework/Versions/",versions[i],"/Resources/",name,".",versions[i],".qtx",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/JavaVM.framework/Versions/1.2/Libraries/",name,".",versions[i],".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/PrintingCore.framework/Versions/",versions[i],"/Libraries/",name,".",versions[i],".dylib",NULL) makestr(SYSTEM_LIBRARY,"/Frameworks/QuickTime.framework/Versions/",versions[i],"/",name,NULL)
/usr/bin/md and /usr/bin/mig are called in the process. Can we have our own copies of those? Maybe as a part of darwin-miscutils?
what are md and mig?
Removing cruft from here is dangerous as well as persuading... (In reply to comment #13) > These paths are searched by default (taken from dylib_table.c): > > makestr(SYSTEM_LIBRARY,"/Frameworks/JavaVM.framework/Libraries/lib",name,".",versions[i],".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) > makestr(SYSTEM_LIBRARY,"/PrivateFrameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) > makestr(SYSTEM_LIBRARY,"Printers/",name,".",versions[i],".dylib",NULL) > makestr("/Local/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) > makestr("/MacOSX/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) > makestr("/AppleInternal/Library/Frameworks/",name,".framework/Versions/",versions[i],"/",name,NULL) > makestr("/lib/",name,".",versions[i],".dylib",NULL) > makestr("/usr/lib/",name,".",versions[i],".dylib",NULL) > makestr("/usr/lib/java/",name,".",versions[i],".dylib",NULL) > makestr("/usr/local/lib/",name,".",versions[i],".dylib",NULL) > makestr("/usr/canna/dylib/",name,".",versions[i],".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/CarbonCore.framework/Versions/",versions[i],"/Support/",name,".dylib",NULL) > makestr(SYSTEM_LIBRARY,"Frameworks/Carbon.framework/Versions/",versions[i],"/Libraries/",name,".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/CoreGraphics.framework/Versions/",versions[i],"/Libraries/",name,".",versions[i],".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Components/",name,".qtx",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/Carbon.framework/Versions/",versions[i],"/Resources//",name,".qtx",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/CoreGraphics.framework/Versions/",versions[i],"/Resources/",name,".",versions[i],".qtx",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/JavaVM.framework/Versions/1.2/Libraries/",name,".",versions[i],".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/PrintingCore.framework/Versions/",versions[i],"/Libraries/",name,".",versions[i],".dylib",NULL) > makestr(SYSTEM_LIBRARY,"/Frameworks/QuickTime.framework/Versions/",versions[i],"/",name,NULL) Let's just not mess with it, the linker isn't called that many times afterall...
md is part of adv_cmds (APSL). mig is a wrapper (mig.sh) around migcom from bootstrap_cmds (APSL).
Well we do have to mess with it. While we might not want to remove paths (the only gain would be speed), we do want to at our library paths from prefix, no? That keeps us from passing -L all day.
No, because usually linking goes through gcc, which needs to know about it as well. Technically, gcc does a bit to much, and it's just a pity it doesn't do the linking itself, sort of.
Created attachment 166411 [details, diff] cleaned up patch to make it compile with FSF gcc
Created attachment 166413 [details] cleaned up ebuild
Comment on attachment 166411 [details, diff] cleaned up patch to make it compile with FSF gcc not supporting gcc-fsf any longer
I'm doing something wrong with binutils-config, I think. Anyway, dropped a couple of patches, cleaned up the others (addings conditonals that make sense instead of removing instructions). Bootstrapping now works. Changes follow.
Comment on attachment 166315 [details, diff] remove some warnings not fixing warnings (no gains, risky)
Created attachment 166556 [details, diff] run ranlib before installation so we needn't touch permissions
Created attachment 166558 [details, diff] don't create a symlink to nmedit from the dir nmedit is in
Created attachment 166559 [details, diff] don't install efi manpages if we don't want efi itself. cleaned up.
Created attachment 166560 [details, diff] fix test suite a little more
Created attachment 166562 [details, diff] no-efi patch without trailing whitespace
these are the files that are currently installed pipping@quicksand $ find . . ./etc ./etc/env.d ./etc/env.d/binutils ./etc/env.d/binutils/i686-apple-darwin9-20080922 ./usr ./usr/i686-apple-darwin9 ./usr/i686-apple-darwin9/binutils-bin ./usr/i686-apple-darwin9/binutils-bin/20080922 ./usr/i686-apple-darwin9/binutils-bin/20080922/ar ./usr/i686-apple-darwin9/binutils-bin/20080922/as ./usr/i686-apple-darwin9/binutils-bin/20080922/check_dylib ./usr/i686-apple-darwin9/binutils-bin/20080922/checksyms ./usr/i686-apple-darwin9/binutils-bin/20080922/cmpdylib ./usr/i686-apple-darwin9/binutils-bin/20080922/cmpshlib ./usr/i686-apple-darwin9/binutils-bin/20080922/codesign_allocate ./usr/i686-apple-darwin9/binutils-bin/20080922/gprof ./usr/i686-apple-darwin9/binutils-bin/20080922/hack_libgcc ./usr/i686-apple-darwin9/binutils-bin/20080922/indr ./usr/i686-apple-darwin9/binutils-bin/20080922/install_name_tool ./usr/i686-apple-darwin9/binutils-bin/20080922/kern_tool ./usr/i686-apple-darwin9/binutils-bin/20080922/ld ./usr/i686-apple-darwin9/binutils-bin/20080922/ld64 ./usr/i686-apple-darwin9/binutils-bin/20080922/libtool ./usr/i686-apple-darwin9/binutils-bin/20080922/lipo ./usr/i686-apple-darwin9/binutils-bin/20080922/mkshlib ./usr/i686-apple-darwin9/binutils-bin/20080922/nm ./usr/i686-apple-darwin9/binutils-bin/20080922/nmedit ./usr/i686-apple-darwin9/binutils-bin/20080922/otool ./usr/i686-apple-darwin9/binutils-bin/20080922/pagestuff ./usr/i686-apple-darwin9/binutils-bin/20080922/ranlib ./usr/i686-apple-darwin9/binutils-bin/20080922/rebase ./usr/i686-apple-darwin9/binutils-bin/20080922/redo_prebinding ./usr/i686-apple-darwin9/binutils-bin/20080922/seg_addr_table ./usr/i686-apple-darwin9/binutils-bin/20080922/seg_hack ./usr/i686-apple-darwin9/binutils-bin/20080922/segedit ./usr/i686-apple-darwin9/binutils-bin/20080922/size ./usr/i686-apple-darwin9/binutils-bin/20080922/strings ./usr/i686-apple-darwin9/binutils-bin/20080922/strip ./usr/i686-apple-darwin9/binutils-bin/libexec ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/i386 ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/i386/as ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/ppc ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/ppc/as ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/ppc64 ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/ppc64/as ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/x86_64 ./usr/i686-apple-darwin9/binutils-bin/libexec/gcc/darwin/x86_64/as ./usr/lib ./usr/lib/binutils ./usr/lib/binutils/i686-apple-darwin9 ./usr/lib/binutils/i686-apple-darwin9/20080922 ./usr/lib/binutils/i686-apple-darwin9/20080922/gprof.callg ./usr/lib/binutils/i686-apple-darwin9/20080922/gprof.flat ./usr/lib/binutils/i686-apple-darwin9/20080922/hppa ./usr/lib/binutils/i686-apple-darwin9/20080922/hppa/as ./usr/lib/binutils/i686-apple-darwin9/20080922/i860 ./usr/lib/binutils/i686-apple-darwin9/20080922/i860/as ./usr/lib/binutils/i686-apple-darwin9/20080922/include ./usr/lib/binutils/i686-apple-darwin9/20080922/include/cbt ./usr/lib/binutils/i686-apple-darwin9/20080922/include/cbt/libsyminfo.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/dyld ./usr/lib/binutils/i686-apple-darwin9/20080922/include/dyld/bool.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/arch.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/arm ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/arm/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/fat.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/getsect.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/hppa ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/hppa/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/hppa/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/i386 ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/i386/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/i860 ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/i860/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/i860/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/kld.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/ldsyms.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/loader.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/m68k ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/m68k/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/m88k ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/m88k/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/m88k/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/nlist.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/ppc ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/ppc/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/ppc/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/ranlib.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/redo_prebinding.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/rld.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/rld_state.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/sarld.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/sparc ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/sparc/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/sparc/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/stab.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/swap.h ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/x86_64 ./usr/lib/binutils/i686-apple-darwin9/20080922/include/mach-o/x86_64/reloc.h ./usr/lib/binutils/i686-apple-darwin9/20080922/libmacho.a ./usr/lib/binutils/i686-apple-darwin9/20080922/libmacho_debug.a ./usr/lib/binutils/i686-apple-darwin9/20080922/libmacho_profile.a ./usr/lib/binutils/i686-apple-darwin9/20080922/libmacho_static.a ./usr/lib/binutils/i686-apple-darwin9/20080922/libredo_prebinding.a ./usr/lib/binutils/i686-apple-darwin9/20080922/libsyminfo.a ./usr/lib/binutils/i686-apple-darwin9/20080922/m68k ./usr/lib/binutils/i686-apple-darwin9/20080922/m68k/as ./usr/lib/binutils/i686-apple-darwin9/20080922/m88k ./usr/lib/binutils/i686-apple-darwin9/20080922/m88k/as ./usr/lib/binutils/i686-apple-darwin9/20080922/sparc ./usr/lib/binutils/i686-apple-darwin9/20080922/sparc/as ./usr/share ./usr/share/binutils-data ./usr/share/binutils-data/i686-apple-darwin9 ./usr/share/binutils-data/i686-apple-darwin9/20080922 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/ar.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/as.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/check_dylib.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/checksyms.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/cmpdylib.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/cmpshlib.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/codesign_allocate.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/dylibprof.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/gprof.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/indr.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/install_name_tool.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/ld_classic.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/libtool.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/lipo.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/mkshlib.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/nm.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/nmedit.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/otool.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/pagestuff.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/ranlib.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/redo_prebinding.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/seg_addr_table.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/segedit.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/size.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/strings.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man1/strip.1.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/arch.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/end.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/get_end.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/getsectbyname.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/getsectbynamefromheader.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/getsectdata.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/getsectdatafromheader.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/getsegbyname.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/kld.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/libsyminfo.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man3/redo_prebinding.3.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5/Mach-O.5.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5/a.out.5.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5/ar.5.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5/ranlib.5.bz2 ./usr/share/binutils-data/i686-apple-darwin9/20080922/man/man5/stab.5.bz2 ./usr/share/man ./usr/share/man/man1 ./usr/share/man/man1/ld.1.bz2 ./usr/share/man/man1/ld64.1.bz2 ./usr/share/man/man1/rebase.1.bz2 pipping@quicksand $
regarding that list of files, * the ld_classic manpage shouldn't be installed (because we don't install ld_classic) * all the manpages should go into the same directory (hence {ld{,64},rebase} should go into a slotted dir) * we might not want to install the hppa, sparc, w/e assembler * we might not want to install the includes * the libexec/gcc/darwin should be part of the slotting (no idea how to do that with binutils-config), see also: ebuild note about LIBDIR * do we need the libraries (libmacho, ...)
Created attachment 166631 [details, diff] latest ebuild
Comment on attachment 166413 [details] cleaned up ebuild forgot to obsolete this one
Created attachment 166633 [details, diff] cctools diff all these attachments only cause confusion. attaching a diff against the directory that combines them all.
initial version added to the tree as sys-devel/binutils-apple
Comment on attachment 166633 [details, diff] cctools diff binutils-apple is live now, so this patch is obsolete
Created attachment 166640 [details, diff] with this patch, the version string of ld64 is no longer broken
(In reply to comment #31) > * all the manpages should go into the same directory (hence {ld{,64},rebase} > should go into a slotted dir) that's fixed by now, (In reply to comment #9) > * make independent of apple's /usr/bin/make (e.g. by patching our make or > providing apple-make) that's been taken care of by separating 'as' from the rest and calling 'emake -k; emake'.
Created attachment 166642 [details, diff] no longer build hppa, sparc, etc. assemblers
I must be going nuts. I couldn't reproduce the problem in as/ anymore. I replaced the calls to emake with calls to make and they came back. So my next thought was that emake didn't respect EPREFIX and called /usr/bin/make directly But that's not the case either. putting 'which make' into $EPREFIX/usr/lib/portage/bin/emake yields the correct path, running `MAKE=$EPREFIX/usr/bin/make emake` instead of emake doesn't yield any errors either. Any ideas?
Created attachment 166644 [details, diff] build as together with all the other tools again see also comment #40 does this *not* work for anyone out there?
Could it be a -jX issue? emake in general inserts that. Does it still work with -j1 forced? I applied the other two patches for now, thanks
Comment on attachment 166644 [details, diff] build as together with all the other tools again indeed, that was it.
ok, so we actually have to fix it somehow once...
Created attachment 166681 [details, diff] gets rid of libraries, includes, and obsolete manpages
Created attachment 166683 [details, diff] missing patch to kill headers
Comment on attachment 166642 [details, diff] no longer build hppa, sparc, etc. assemblers (In reply to comment #31) > * we might not want to install the hppa, sparc, w/e assembler fixed
Comment on attachment 166681 [details, diff] gets rid of libraries, includes, and obsolete manpages (In reply to comment #31) > * the ld_classic manpage shouldn't be installed (because we don't install > ld_classic) > * we might not want to install the includes > * do we need the libraries (libmacho, ...) fixed
== Summary == of the TODOs and considerations, what remains is * the libexec/gcc/darwin should be part of the slotting (no idea how to do that with binutils-config), see also: ebuild note about LIBDIR * An equivalent for driver.c.diff is still missing Those are actually the same issue (see driver.c.diff or something in odcctools)
Created attachment 166699 [details, diff] handles the libexecdir for as and other fixes Adopting the driver.c patch from odcctools. As a result everything is now slotted. moved some variables around make calls. We're no longer building anything that requires MACOSX_DEPLOYMENT_TARGET to be set. Two problems remain: * calling `emake; emake -k` for as is ugly. It requires duplication, too. Any ideas? * The driver.c patch is ugly and destructive. It should be cleaned up and conditionalized On a sidenote, replacing the directory structure for as is not an option. The 'as' driver handles command line options and the like as well.
Created attachment 167037 [details, diff] new diff (includes Makefile and fix for as-libexec-path) takes care of all the problems there are. adds a makefile to clean up the ebuild. still suffers from using the ugly odcctools patch for as. works perfectly. as a result of using make, we now split up tasks, allowing for ccache and MAKEOPTS to speed up compilation. the makefile is clean and easier to maintain than the calls to echo_and_run (which was in turn removed)
Created attachment 167038 [details, diff] even newer patch. replaces the ugly odcctools we-change-everything-permanently with a nice patch (i find)
applied, thankz
Comment on attachment 167038 [details, diff] even newer patch. replaces the ugly odcctools we-change-everything-permanently with a nice patch (i find) obsolete since it's been applied
Created attachment 167247 [details, diff] patch to remove -fomit-frame-pointer -pg is used in the makefiles (didn't take a look), which clashes with -fomit-frame-pointer filter-flags would be overkill since it appears to run fine with -O3 -fomit-frame-pointer -pipe -march=core2. Should we patch out -pg instead?
Before binutils-apple is let lose, we might want to pick a sane version number. ld64-85.2.2 and cctools-698 are part of Xcode 3.1.1. Since we can only have one version number, I suggest goes with 3.1.1. The file cctools-698/RelNotes/Private_CompilerTools.html also shows an internal versioning.
s/goes/going/
Created attachment 167497 [details, diff] new patch to handle -fomit-frame-pointer uses filter-flags
added
Comment on attachment 167497 [details, diff] new patch to handle -fomit-frame-pointer obsoleting what's been committed
`tc-export CC CXX` is something we might want to add somewhere for one, in case x64-macos is ever taken another swing at again, having CC='gcc -m64' work for bootstrapping would be nice. Currently, cctools and ld64 both use the 'cc' and 'g++' binaries. Hence, having it for src_compile() would be nice if we were to have it for src_test() as well, we could remove the explicit CC=... CXX=... However, if someone where to build it via 'ebuild ... compile; ebuild ... test', setting it in src_compile() wouldn't work for the second part. Hence we'd need to move it up a level -- to global scope, i suppose.
Now that we've decided on going with 3.1.1 as a version, could someone please $ for i in {,files/}*20080922*; do svn mv $i ${i/20080922/3.1.1}; done from within sys-devel/binutils-apple ? Also, should files/${PV}-....patch not be files/${P}-....patch?
done, I consider the bug fixed now.