The attached packaging now properly allows multilib builds of the
c, c++, objc, fortran and java languages on Darwin PPC for both
32-bit and 64-bit processor machines. It also will allow Darwin
Intel to do a --disable-multilib build of the same (since the
the x86_64 Darwin build of java is still broken in gcc trunk).
Let me know you have any problems with the attached packaging.
                Jack
ps I have attached to this plain text mime text files (which
the Apple Mail reader sees as separate mime files). If you
end up cutting this out of a text version of the fink-devel
mail archives please make sure that the original line breaks
aren't lost in either the patch or info file.
Package: gcc4
Version: 4.1.9999
Revision: 20061107
Epoch: 2
Source: ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-%r/gcc-4.2-%r.tar.bz2
Source-MD5: b1bb84e297759d8aefa945765be05fe3
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
NoSetMACOSX_DEPLOYMENT_TARGET: True
Depends: gmp-shlibs (>= 4.2.1-1), libmpfr1-shlibs (>= 2.2.0-2), odcctools (>= 
622.3-20060913), %N-shlibs (>= %e:%v-%r), libiconv
BuildDepends: gmp (>= 4.2.1-1), libmpfr1 (>= 2.2.0-2), libiconv-dev, 
automake1.9, libtool14
ConfigureParams: --prefix=%p/lib/gcc4 
--enable-languages=c,c++,fortran,objc,java --with-gmp=%p  
--with-included-gettext --host=%m-apple-darwin`uname -r|cut -f1 -d.` 
--with-as=%p/lib/odcctools/bin/as --with-ld=%p/lib/odcctools/bin/ld 
--with-nm=%p/lib/odcctools/bin/nm  --mandir='${prefix}/share/man' 
--infodir='${prefix}/share/info' --with-libiconv-prefix=%p 
PatchScript: <<
 #!/bin/sh -ev
 # make sure odcctools libtool being used.
 perl -pi -e 's,/usr/bin/libtool,%p/lib/odcctools/bin/libtool,;' 
gcc/config/darwin.h
 perl -pi -e 's,nm -P,%p/lib/odcctools/bin/nm -P,;' 
libstdc++-v3/scripts/make_exports.pl
<<
Patch: %n.patch
CompileScript: <<
 #!/bin/sh -ev
 ulimit -s `ulimit -s`
 cd libgfortran
 aclocal  -I ../config
 autoconf -I ../config
 automake -a
 cd ..
 cd boehm-gc
 aclocal -I .. -I ../config
 autoconf -I .. -I ../config
 automake -a
 cd ..
 cd libffi
 aclocal  -I .. -I ../config
 autoconf  -I .. -I ../config
 automake -a
 cd ..
 cd libjava
 aclocal  -I . -I .. -I ../config
 autoconf  -I . -I .. -I ../config
 automake -a
 cd classpath
 aclocal -I m4 -I ../.. -I ../../config
 autoconf -I m4 -I ../.. -I ../../config
 automake -a
 cd ../libltdl
 aclocal  -I ../.. -I ../../config
 autoconf  -I ../.. -I ../../config
 automake -a
 cd ..
 cd ..
 cd zlib
 aclocal -I ../config
 autoconf -I ../config
 automake -a
 cd ..
 mkdir ../darwin_objdir
 cd ../darwin_objdir
 case "%m" in
 i386) ../gcc-4.2-%r/configure %c --disable-multilib ;;
 powerpc) ../gcc-4.2-%r/configure %c ;;
 esac
 make
 # make check requires autogen, dejagnu and expect.
 #make check-gcc
<<
InstallScript: <<
 #!/bin/sh -ev
 cd ../darwin_objdir
 make install DESTDIR=%d 
 mkdir -p %i/bin
 cd %i/bin
 ln -s %p/lib/gcc4/bin/gfortran gfortran
 ln -s %p/lib/gcc4/bin/gcc gcc-4
 ln -s %p/lib/gcc4/bin/g++ g++-4
 ln -s %p/lib/gcc4/bin/c++ c++-4
 ln -s %p/lib/gcc4/bin/cpp cpp-4
 ln -s %p/lib/gcc4/bin/gcov gcov-4
 ln -s %p/lib/gcc4/bin/gcj gcj
 ln -s %p/lib/gcc4/bin/gcj-dbtool gcj-dbtool
 ln -s %p/lib/gcc4/bin/gcjh gcjh
 ln -s %p/lib/gcc4/bin/gij gij
 ln -s %p/lib/gcc4/bin/gjnih gjnih
 ln -s %p/lib/gcc4/bin/grepjar grepjar
 ln -s %p/lib/gcc4/bin/grmiregistry grmiregistry
 ln -s %p/lib/gcc4/bin/grmic grmic
 ln -s %p/lib/gcc4/bin/fastjar fastjar
 ln -s %p/lib/gcc4/bin/jcf-dump jcf-dump
 ln -s %p/lib/gcc4/bin/jv-convert jv-convert
 ln -s %p/lib/gcc4/bin/jv-scan jv-scan
<<
SplitOff: <<
  Package: %N-shlibs
  Replaces: gcc4 (<= 20050130-4), gfortran-shlibs
  Provides: gfortran-shlibs
  Description: Shared libraries for gcc4
  DocFiles: gcc/COPYING gcc/COPYING.LIB
  Homepage: http://gcc.gnu.org/
  Files: <<
    lib/gcc4/lib/libgcc_s.1.dylib
    lib/gcc4/lib/libgfortran.2.dylib
    lib/gcc4/lib/libgfortran.2.0.0.dylib
    lib/gcc4/lib/libssp.0.dylib
    lib/gcc4/lib/libssp.0.0.0.dylib
    lib/gcc4/lib/libgcc_s.10.4.dylib
    lib/gcc4/lib/libgcc_s.10.5.dylib
    lib/gcc4/lib/libobjc-gnu.2.dylib
    lib/gcc4/lib/libobjc-gnu.2.0.0.dylib
    lib/gcc4/lib/libstdc++.6.dylib
    lib/gcc4/lib/libstdc++.6.0.9.dylib
    lib/gcc4/lib/libgomp.1.dylib
    lib/gcc4/lib/libgomp.1.0.0.dylib
    lib/gcc4/lib/libffi.4.0.1.dylib
    lib/gcc4/lib/libffi.4.dylib
    lib/gcc4/lib/libgcj.8.0.0.dylib
    lib/gcc4/lib/libgcj.8.dylib
    lib/gcc4/lib/libgcj-tools.8.0.0.dylib
    lib/gcc4/lib/libgcj-tools.8.dylib
    lib/gcc4/lib/libgij.8.0.0.dylib
    lib/gcc4/lib/libgij.8.dylib
  <<
  Shlibs: <<
    %p/lib/gcc4/lib/libgfortran.2.dylib 3.0.0 %n (>= 4.1.999-20060915)
    %p/lib/gcc4/lib/libffi.4.dylib 5.0.0 %n (>= 20050130-5)
    %p/lib/gcc4/lib/libstdc++.6.dylib 5.0.0 %n (>= 4.1-1)
    %p/lib/gcc4/lib/libgcc_s.1.dylib 1.0.0 %n (>= 4.1-1)
    %p/lib/gcc4/lib/libgcj.8.dylib 9.0.0 %n (>= 4.1.999-20060915)
    %p/lib/gcc4/lib/libgcj-tools.8.dylib  9.0.0 %n (>= 4.1.999-20060915)
    %p/lib/gcc4/lib/libgij.8.dylib 9.0.0 %n (>= 4.1.999-20060915)
    %p/lib/gcc4/lib/libssp.0.dylib 1.0.0 %n (>= 4.1-1)
    %p/lib/gcc4/lib/libobjc-gnu.1.dylib 2.0.0 %n (>= 20050130-5)
    %p/lib/gcc4/lib/libgomp.1.dylib 2.0.0 %n (>= 2:4.1.99-20060513)
  <<
<<
License: GPL
Description: GNU Compiler Collection Version 4
DescDetail: <<
 GCC, the GNU Compiler Collection, includes front ends for
 C, C++, Objective-C, Objective-C++, Fortran, Java, and Ada.
 .
 C, C++, Objective C and Fortran and Java are included in this package.
 .
 The C and C++ compilers are named gcc-4 and g++-4 to avoid
 conflicts with gcc and g++ installed by the Apple Developer Tools
<<
DescPackaging: <<
 The current gcc 4.2 snapshots still requires several Makefile.am files
to be patched and configure scripts regenerated in order to properly
perform multilib builds on 32-bit PowerPC processors. Since the libffi
and libjava don't properly build at 64-bit for Intel Darwin, I have
used --disable-multilib on that architecture for the gcc 4.2 release.
<<
Homepage: http://gcc.gnu.org/
Maintainer: None <fink-devel@lists.sourceforge.net>
diff -uNr gcc-4.2-20061107/libffi/Makefile.am 
gcc-4.2-20061107.multilib/libffi/Makefile.am
--- gcc-4.2-20061107/libffi/Makefile.am 2006-10-10 10:21:05.000000000 -0400
+++ gcc-4.2-20061107.multilib/libffi/Makefile.am        2006-11-07 
16:43:05.000000000 -0500
@@ -1,7 +1,7 @@
 ## Process this with automake to create Makefile.in
 
 AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS = -I ..
+ACLOCAL_AMFLAGS = -I .. -I ../config
 
 SUBDIRS = include testsuite
 
diff -uNr gcc-4.2-20061107/libjava/classpath/configure.ac 
gcc-4.2-20061107.multilib/libjava/classpath/configure.ac
--- gcc-4.2-20061107/libjava/classpath/configure.ac     2006-08-22 
16:37:36.000000000 -0400
+++ gcc-4.2-20061107.multilib/libjava/classpath/configure.ac    2006-11-07 
16:43:05.000000000 -0500
@@ -11,6 +11,9 @@
 
 AC_CANONICAL_TARGET
 
+# Find the rest of the source tree framework.
+AM_ENABLE_MULTILIB(, ../..)
+
 dnl -----------------------------------------------------------
 dnl Fold all IA-32 CPU architectures into "x86"
 dnl -----------------------------------------------------------
diff -uNr gcc-4.2-20061107/libjava/configure.ac 
gcc-4.2-20061107.multilib/libjava/configure.ac
--- gcc-4.2-20061107/libjava/configure.ac       2006-09-27 17:24:23.000000000 
-0400
+++ gcc-4.2-20061107.multilib/libjava/configure.ac      2006-11-07 
16:43:05.000000000 -0500
@@ -15,27 +15,8 @@
 # We may get other options which we don't document:
 # --with-target-subdir, --with-multisrctop, --with-multisubdir
 
-# When building with srcdir == objdir, links to the source files will
-# be created in directories within the target_subdir.  We have to
-# adjust toplevel_srcdir accordingly, so that configure finds
-# install-sh and other auxiliary files that live in the top-level
-# source directory.
-if test "${srcdir}" = "."; then
-  if test -z "${with_target_subdir}"; then
-    toprel=".."
-  else
-    if test "${with_target_subdir}" != "."; then
-      toprel="${with_multisrctop}../.."
-    else
-      toprel="${with_multisrctop}.."
-    fi
-  fi
-else
-  toprel=".."
-fi
-
-libgcj_basedir=$srcdir/$toprel/./libjava
-AC_SUBST(libgcj_basedir)
+# Find the rest of the source tree framework.
+AM_ENABLE_MULTILIB(, ..)
 
 AC_CANONICAL_SYSTEM
 _GCC_TOPLEV_NONCANONICAL_BUILD
@@ -74,16 +55,6 @@
     [version_specific_libs=no]
 )
 
-# Default to --enable-multilib
-AC_ARG_ENABLE(multilib,
-  AS_HELP_STRING([--enable-multilib],
-                 [build many library versions (default)]),
-[case "${enableval}" in
-  yes) multilib=yes ;;
-  no)  multilib=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
- esac], [multilib=yes])dnl
-
 AC_ARG_ENABLE(plugin,
   AS_HELP_STRING([--enable-plugin],
                  [build gcjwebplugin web browser plugin]),
@@ -905,7 +876,7 @@
 AM_CONDITIONAL(USING_GCC, test "$GCC" = yes)
 
 # We're in the tree with gcc, and need to include some of its headers.
-GCC_UNWIND_INCLUDE='-I$(libgcj_basedir)/../gcc'
+GCC_UNWIND_INCLUDE='-I$(multi_basedir)/./libjava/../gcc'
 
 if test "x${with_newlib}" = "xyes"; then
    # We are being configured with a cross compiler.  AC_REPLACE_FUNCS
@@ -945,7 +916,7 @@
        AC_CHECK_LIB(dld, dladdr, [
        AC_DEFINE(HAVE_DLADDR, 1, [Define if you have dladdr()])])])
 
-   if test x"$build" = x"$host"; then
+   if test x"$cross_compiling" = x"no"; then
      AC_CHECK_FILES(/proc/self/exe, [
        AC_DEFINE(HAVE_PROC_SELF_EXE, 1, [Define if you have /proc/self/exe])])
    else
@@ -1518,7 +1489,7 @@
 case " $CONFIG_FILES " in
  *" Makefile "*)
    LD="${ORIGINAL_LD_FOR_MULTILIBS}"
-   ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
+   ac_file=Makefile . ${multi_basedir}/./libjava/../config-ml.in
    ;;
 esac
 for ac_multi_file in $CONFIG_FILES; do
@@ -1534,7 +1505,7 @@
 with_multisubdir=${with_multisubdir}
 ac_configure_args="${multilib_arg} ${ac_configure_args}"
 CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgcj_basedir=${libgcj_basedir}
+multi_basedir=${multi_basedir}
 CC="${CC}"
 CXX="${CXX}"
 ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
diff -uNr gcc-4.2-20061107/libjava/libltdl/configure.ac 
gcc-4.2-20061107.multilib/libjava/libltdl/configure.ac
--- gcc-4.2-20061107/libjava/libltdl/configure.ac       2006-03-30 
11:59:27.000000000 -0500
+++ gcc-4.2-20061107.multilib/libjava/libltdl/configure.ac      2006-11-07 
16:43:05.000000000 -0500
@@ -30,6 +30,8 @@
 ## GCJ LOCAL: gcc tree uses maintainer mode.
 AM_MAINTAINER_MODE
 
+AM_ENABLE_MULTILIB(, ../..)
+
 ## ------------------------------- ##
 ## Libltdl specific configuration. ##
 ## ------------------------------- ##
diff -uNr gcc-4.2-20061107/libjava/libltdl/Makefile.am 
gcc-4.2-20061107.multilib/libjava/libltdl/Makefile.am
--- gcc-4.2-20061107/libjava/libltdl/Makefile.am        2006-06-05 
11:08:56.000000000 -0400
+++ gcc-4.2-20061107.multilib/libjava/libltdl/Makefile.am       2006-11-07 
16:43:05.000000000 -0500
@@ -2,6 +2,8 @@
 
 AUTOMAKE_OPTIONS = no-dependencies foreign
 
+ACLOCAL_AMFLAGS = -I ../.. -I ../../config
+
 INCLUDES = $(GCINCS)
 
 if INSTALL_LTDL
diff -uNr gcc-4.2-20061107/zlib/Makefile.am 
gcc-4.2-20061107.multilib/zlib/Makefile.am
--- gcc-4.2-20061107/zlib/Makefile.am   2006-06-13 17:15:06.000000000 -0400
+++ gcc-4.2-20061107.multilib/zlib/Makefile.am  2006-11-07 16:43:05.000000000 
-0500
@@ -2,6 +2,8 @@
 
 AUTOMAKE_OPTIONS = 1.8 cygnus
 
+ACLOCAL_AMFLAGS = -I ../config
+
 ZLIB_SOURCES = adler32.c compress.c crc32.c crc32.h deflate.c \
 deflate.h gzio.c infback.c inffast.c inffast.h inffixed.h inflate.c \
 inflate.h inftrees.c inftrees.h trees.c trees.h uncompr.c zconf.h \
--- gcc-4.2-20060822/gcc/testsuite/lib/prune.exp.org    2006-08-23 
18:33:56.000000000 -0400
+++ gcc-4.2-20060822/gcc/testsuite/lib/prune.exp        2006-08-23 
18:41:28.000000000 -0400
@@ -43,6 +43,7 @@
     regsub -all "(^|\n)\[^\n\]*file path prefix \[^\n\]* never used" $text "" 
text
     regsub -all "(^|\n)\[^\n\]*linker input file unused since linking not 
done" $text "" text
 
+    regsub -all "(^|\n)can't find atom for N_GSYM stabs \[^\n\]* in \[^\n\]*" 
$text "" text
     #send_user "After:$text\n"
 
     return $text
--- gcc-4.2-20060825/libstdc++-v3/testsuite/lib/prune.exp.org   2006-08-26 
11:22:52.000000000 -0400
+++ gcc-4.2-20060825/libstdc++-v3/testsuite/lib/prune.exp       2006-08-26 
11:23:39.000000000 -0400
@@ -29,5 +29,7 @@
     regsub -all "(^|\n)\[^\n\]*: Additional NOP may be necessary to workaround 
Itanium processor A/B step errata" $text "" text
     regsub -all "(^|\n)\[^\n*\]*: Assembler messages:\[^\n\]*" $text "" text
 
+    regsub -all "(^|\n)can't find atom for N_GSYM stabs \[^\n\]* in \[^\n\]*" 
$text "" text
+
     return $text
 }
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to