On Sun, Apr 25, 2010 at 04:56:48PM +0200, Martin Costabel wrote:
> Jack Howarth wrote:
>> On Sun, Apr 25, 2010 at 09:46:51AM +0200, Martin Costabel wrote:
>>> Jack Howarth wrote:
>>> []
>>>> What I am considering is to add a gcc4X-bin
>>>> split-off to all of the gcc4X packages which
>>>> will contain all of the %/bin symlinks currently
>>>> provided by the main gcc4X package.
>>> Why do we neeed *any* of these executables directly in %p/bin?
>>> They could as well live in some subdirectory of %p/lib, and if you
>>> want to use them, you modify PATH correspondingly.
>>
>> Ease of use? Users already have to adapt to the using
>> a different compiler name in some cases and now they
>> have to invoke a new path as well?
>
> In many cases, you don't even have to change PATH. Just use the full
> name of the executable.
>
> No sane person will remember for longer than 24 hours that 'gcc-4' is
> Fink's gcc version 4.2.4 if gcc42 is installed or version 4.4.2 if gcc44
> is installed, whereas 'gcc-4.2' is Apple's gcc version 4.2.1 and
> 'gcc-4.0' is Apple's gcc version 4.0.1, even if it is invoked as
> '/sw/bin/gcc-4.0'.
>
> So in any case you will have to look it up before using it either
> manually or in a script or package. And I would claim that when you need
> to look it up anyway before using it, it is only marginally more
> complicated to use '%p/lib/gcc-4.4/bin/gcc' than 'gcc-4'.
>
> --
> Martin
>
Martin,
This is getting close to rational...
--- gcc46-x86_64.info.current 2010-04-24 19:50:20.000000000 -0400
+++ gcc46-x86_64.info 2010-04-25 12:13:45.000000000 -0400
@@ -13,14 +13,14 @@
Architecture: x86_64
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
-Conflicts: gcc4, gcc42, gcc43, gcc44, gcc45
-Replaces: gcc4, gcc42, gcc43, gcc44, gcc45
+Conflicts: gcc42, gcc43, gcc44, gcc45
+Replaces: gcc42, gcc43, gcc44, gcc45
Depends: gmp-shlibs (>= 4.3.1-1000), libgmpxx-shlibs (>= 4.3.1-1000),
libmpfr1-shlibs (>= 2.4.1-1), %N-shlibs (>= %v-%r), libiconv,
libgettext8-shlibs, ppl-shlibs (>= 0.10.2-1), cloog-shlibs (>= 0.15.9-1),
libmpc2-shlibs (>= 0.8-1), xcode (>= 3.1.2)
BuildDepends: gmp (>= 4.3.1-1000), libmpfr1 (>= 2.4.1-1), libiconv-dev,
gettext-tools, libgettext8-dev, ppl (>= 0.10.2-1), cloog (>= 0.15.9-1), libmpc2
(>= 0.8-1), xcode (>= 3.1.2), fink (>= 0.27.2)
ConfigureParams: <<
--prefix=%p/lib/gcc4.6 --mandir=%p/share/man --infodir=%p/share/info
--enable-languages=c,c++,fortran,objc,obj-c++,java \
--with-gmp=%p --with-libiconv-prefix=%p --with-ppl=%p --with-cloog=%p
--with-mpc=%p --with-system-zlib \
- --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
+ --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--program-suffix=-fsf-4.6
<<
CompileScript: <<
#!/bin/bash -ev
@@ -44,30 +44,37 @@
cd ../darwin_objdir
make install DESTDIR=%d
mkdir -p %i/bin
- ln -s %p/lib/gcc4.6/bin/gfortran %i/bin/gfortran
- ln -s %p/lib/gcc4.6/bin/gcc %i/bin/gcc-4
- ln -s %p/lib/gcc4.6/bin/g++ %i/bin/g++-4
- ln -s %p/lib/gcc4.6/bin/c++ %i/bin/c++-4
- ln -s %p/lib/gcc4.6/bin/cpp %i/bin/cpp-4
- ln -s %p/lib/gcc4.6/bin/gcov %i/bin/gcov-4
- ln -s %p/lib/gcc4.6/bin/gcj %i/bin/gcj
- ln -s %p/lib/gcc4.6/bin/gcj-dbtool %i/bin/gcj-dbtool
- ln -s %p/lib/gcc4.6/bin/gcjh %i/bin/gcjh
- ln -s %p/lib/gcc4.6/bin/gij %i/bin/gij
- ln -s %p/lib/gcc4.6/bin/gjnih %i/bin/gjnih
- ln -s %p/lib/gcc4.6/bin/grmiregistry %i/bin/grmiregistry
- ln -s %p/lib/gcc4.6/bin/grmic %i/bin/grmic
- ln -s %p/lib/gcc4.6/bin/jcf-dump %i/bin/jcf-dump
- ln -s %p/lib/gcc4.6/bin/jv-convert %i/bin/jv-convert
- ln -s %p/lib/gcc4.6/bin/jv-scan %i/bin/jv-scan
- mv %i/share/info/cpp.info %i/share/info/cpp-4.info
- mv %i/share/info/gcc.info %i/share/info/gcc-4.info
- mv %i/share/man/man1/cpp.1 %i/share/man/man1/cpp-4.1
- mv %i/share/man/man1/g++.1 %i/share/man/man1/g++-4.1
- mv %i/share/man/man1/gcc.1 %i/share/man/man1/gcc-4.1
- mv %i/share/man/man1/gcov.1 %i/share/man/man1/gcov-4.1
+
+ binfiles="gcc g++ c++ cpp gcov"
+ for binfile in $binfiles ; do
+ ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile-4
+ ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile-4
+ done
+
+ binfiles="gfortran gcj gcj-dbtool gcjh gij gjnih grmiregistry grmic jcf-dump
jv-convert jv-scan"
+ for binfile in $binfiles ; do
+ ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/lib/gcc4.6/bin/$binfile
+ ln -s %p/lib/gcc4.6/bin/$binfile-fsf-4.6 %i/bin/$binfile
+ done
+
+ man1files="aot-compile cpp-4 g++-4 gappletviewer gc-analyze gcc-4 gcj-dbtool
gcj gcjh gcov-4 gfortran gij gjar gjarsigner gjavah gjdoc gkeytool
gnative2ascii gorbd grmic grmid grmiregistry gserialver gtnameserv jcf-dump
jv-convert rebuild-gcj-db"
+ for man1file in $man1files ; do
+ mv %i/lib/gcc4.6/share/man/man1/$man1file.1
%i/lib/gcc4.6/share/man/man1/$man1file-fsf-4.6.1
+ done
+
+ man7files="fsf-funding gfdl gpl"
+ for man7file in $man7files ; do
+ mv %i/lib/gcc4.6/share/man/man1/$man7file.7
%i/lib/gcc4.6/share/man/man1/$man7file-fsf-4.6.7
+ done
+
+ infofiles="cpp cppinternals gcc gccinstall gccint gcj gfortran"
+ for infofile in $infofiles ; do
+ mv %i/share/info/$infofile.info %i/share/info/$infofile-fsf-4.6.info
+ done
+
# Surrender ffi related man pages to libffi package.
rm %i/share/man/man3/ffi.3 %i/share/man/man3/ffi_call.3
%i/share/man/man3/ffi_prep_cif.3
+
cp %b/gcc/config/darwin-sections.def
%i/lib/gcc4.6/lib/gcc/%m-apple-darwin${darwinvers}/4.6.0/plugin/include/config
# remove build path from .la files
perl -pi -e "s, \-L[^ ']*/%n-%v-%r/darwin_objdir/[^ ']*,,g" `find
%i/lib/gcc4.6/lib -name '*.la'`
@@ -127,9 +134,33 @@
%p/lib/gcc4.6/lib/i386/gcj-4.6.0-12/libjvm.dylib 0.0.0 %n (>= 4.1-1) 32
<<
<<
+SplitOff2: <<
+ Package: %N-bin
+ Conflicts: gcc42 (<= 4.2.4-1002), gcc43 (<= 4.3.4-1000), gcc44 (<=
4.4.2-1000), gcc45 (<= 4.5.0-1000), gcc42-bin (>> 4.2.4-1002), gcc43-bin (>>
4.3.4-1000), gcc44-bin (>> 4.4.2-1000), gcc45-bin (>> 4.5.0-1000)
+ Replaces: gcc42 (<= 4.2.4-1002), gcc43 (<= 4.3.4-1000), gcc44 (<=
4.4.2-1000), gcc45 (<= 4.5.0-1000), gcc42-bin (>> 4.2.4-1002), gcc43-bin (>>
4.3.4-1000), gcc44-bin (>> 4.4.2-1000), gcc45-bin (>> 4.5.0-1000)
+ Depends: %N (= %v-%r), %N-shlibs (= %v-%r)
+ Files: <<
+ bin/gcc-4
+ bin/g++-4
+ bin/c++-4
+ bin/cpp-4
+ bin/gcov-4
+ bin/gfortran
+ bin/gcj
+ bin/gcj-dbtool
+ bin/gcjh
+ bin/gij
+ bin/gjnih
+ bin/grmiregistry
+ bin/grmic
+ bin/jcf-dump
+ bin/jv-convert
+ bin/jv-scan
+ <<
+<<
License: GPL
Description: GNU Compiler Collection Version 4.6
-InfoDocs: cpp-4.info cppinternals.info gcc-4.info gccinstall.info gccint.info
gcj.info gfortran.info
+InfoDocs: cpp-fsf-4.6.info cppinternals-fsf-4.6.info gcc-fsf-4.6.info
gccinstall-fsf-4.6.info gccint-fsf-4.6.info gcj-fsf-4.6.info
gfortran-fsf-4.6.info
DescDetail: <<
GCC, the GNU Compiler Collection, includes front ends for
C, C++, Objective-C, Objective-C++, Fortran, Java, and Ada.
The gcc4X programs are all generated with a -fsf-4.X suffix and the
previous filenames are generated with symlinks. Those overlapping
filenames (between gcc4X packages) are stored in gcc4X-bin and
the info/man pages are all accessed via the -fsf-4.X suffixed
names.
How does that look?
Jack
------------------------------------------------------------------------------
_______________________________________________
Fink-devel mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel