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