Skip to content
Permalink
Browse files

gcc45: maintainer-approved update:

 * fix bootstrap comparison failure (https://trac.macports.org/ticket/24664)
 * add ecj1 (https://trac.macports.org/ticket/22066)
 * use --enable-fully-dynamic-string (https://trac.macports.org/ticket/25205)

git-svn-id: https://svn.macports.org/repository/macports/trunk/dports@68780 d073be05-634f-4543-b044-5fe20cf6d1d6
  • Loading branch information
ryandesign committed Jun 13, 2010
1 parent 9c89893 commit df98d8b962900d20554260f88e6d69df9360b490
Showing with 148 additions and 9 deletions.
  1. +27 −9 lang/gcc45/Portfile
  2. +121 −0 lang/gcc45/files/tls_configure_fix.diff
@@ -3,9 +3,9 @@
PortSystem 1.0

name gcc45
epoch 1
version 4.5.0
revision 2
epoch 1
revision 3
platforms darwin
categories lang
maintainers mww
@@ -15,18 +15,21 @@ long_description The GNU compiler collection, including front ends for \
C, C++, Objective-C, Objective-C++, Fortran and Java.

homepage http://gcc.gnu.org/
master_sites ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
gnu:/gcc/gcc-${version}
master_sites ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/:gcc \
ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/:gcc \
ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/:gcc \
ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/:gcc \
gnu:/gcc/gcc-${version}:gcc \
ftp://sourceware.org/pub/java/:ecj

set dcore gcc-core-${version}.tar.bz2
set dfort gcc-fortran-${version}.tar.bz2
set dcxx gcc-g++-${version}.tar.bz2
set djava gcc-java-${version}.tar.bz2
set dobjc gcc-objc-${version}.tar.bz2
distfiles ${dcore} ${dfort} ${dcxx} ${djava} ${dobjc}
set ecj ecj-4.5.jar
distfiles ${dcore}:gcc ${dfort}:gcc ${dcxx}:gcc ${djava}:gcc ${dobjc}:gcc ${ecj}:ecj
extract.only ${dcore} ${dfort} ${dcxx} ${djava} ${dobjc}

checksums gcc-core-${version}.tar.bz2 \
md5 58eda33c3184303628f91c42a7ab15b5 \
@@ -47,7 +50,11 @@ checksums gcc-core-${version}.tar.bz2 \
gcc-objc-${version}.tar.bz2 \
md5 8d8c01b6631b020cc6c167860fde2398 \
sha1 bca51ee80f3bc240b6dd84535d49423423eb457e \
rmd160 9512ff932be7fa36d3f2c8b3ca3e41089ac5a6e8
rmd160 9512ff932be7fa36d3f2c8b3ca3e41089ac5a6e8 \
${ecj} \
md5 d7cd6a27c8801e66cbaa964a039ecfdb \
sha1 58c1d79c64c8cd718550f32a932ccfde8d1e6449 \
rmd160 d3f4da657f086b6423f74e93f001132f4855368a

use_bzip2 yes

@@ -56,6 +63,9 @@ universal_variant no

depends_lib port:gmp port:mpfr port:libiconv port:libmpc

patchfiles tls_configure_fix.diff
patch.dir ${workpath}/gcc-${version}

set major 4.5

worksrcdir build
@@ -68,6 +78,10 @@ if {[info exists build_arch] && ${os.platform} == "darwin"} {
configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
}

post-extract {
copy ${distpath}/${ecj} ${workpath}/gcc-${version}/ecj.jar
}

pre-configure {
file mkdir ${worksrcpath}
}
@@ -122,6 +136,10 @@ platform powerpc {
configure.args-append --disable-multilib
}

platform darwin 10 {
configure.args-append --enable-fully-dynamic-string
}

livecheck.type regex
livecheck.url http://gcc.gnu.org/gcc-4.5/
livecheck.regex GCC (4\\.5\\.\[0-9\])
@@ -0,0 +1,121 @@
--- libgomp/configure.orig 2010-06-03 13:05:23.000000000 -0400
+++ libgomp/configure 2010-06-03 13:41:14.000000000 -0400
@@ -15379,7 +15379,8 @@
/* end confdefs.h. */
#include <pthread.h>
__thread int a;
- static int *a_in_other_thread;
+ int *a_in_other_thread;
+ int *a_in_main_thread;
static void *
thread_func (void *arg)
{
@@ -15391,11 +15392,10 @@
{
pthread_t thread;
void *thread_retval;
- int *a_in_main_thread;
+ a_in_main_thread = &a;
if (pthread_create (&thread, (pthread_attr_t *)0,
thread_func, (void *)0))
return 0;
- a_in_main_thread = &a;
if (pthread_join (thread, &thread_retval))
return 0;
return (a_in_other_thread == a_in_main_thread);
--- libjava/configure.orig 2010-06-03 13:50:53.000000000 -0400
+++ libjava/configure 2010-06-03 13:51:44.000000000 -0400
@@ -24341,7 +24341,8 @@
/* end confdefs.h. */
#include <pthread.h>
__thread int a;
- static int *a_in_other_thread;
+ int *a_in_other_thread;
+ int *a_in_main_thread;
static void *
thread_func (void *arg)
{
@@ -24353,11 +24354,10 @@
{
pthread_t thread;
void *thread_retval;
- int *a_in_main_thread;
+ a_in_main_thread = &a;
if (pthread_create (&thread, (pthread_attr_t *)0,
thread_func, (void *)0))
return 0;
- a_in_main_thread = &a;
if (pthread_join (thread, &thread_retval))
return 0;
return (a_in_other_thread == a_in_main_thread);
--- libstdc++-v3/configure.orig 2010-06-03 13:48:33.000000000 -0400
+++ libstdc++-v3/configure 2010-06-03 13:55:44.000000000 -0400
@@ -25572,7 +25572,8 @@
/* end confdefs.h. */
#include <pthread.h>
__thread int a;
- static int *a_in_other_thread;
+ int *a_in_other_thread;
+ int *a_in_main_thread;
static void *
thread_func (void *arg)
{
@@ -25584,11 +25585,10 @@
{
pthread_t thread;
void *thread_retval;
- int *a_in_main_thread;
+ a_in_main_thread = &a;
if (pthread_create (&thread, (pthread_attr_t *)0,
thread_func, (void *)0))
return 0;
- a_in_main_thread = &a;
if (pthread_join (thread, &thread_retval))
return 0;
return (a_in_other_thread == a_in_main_thread);
@@ -44510,7 +44510,8 @@
/* end confdefs.h. */
#include <pthread.h>
__thread int a;
- static int *a_in_other_thread;
+ int *a_in_other_thread;
+ int *a_in_main_thread;
static void *
thread_func (void *arg)
{
@@ -44522,11 +44523,10 @@
{
pthread_t thread;
void *thread_retval;
- int *a_in_main_thread;
+ a_in_main_thread = &a;
if (pthread_create (&thread, (pthread_attr_t *)0,
thread_func, (void *)0))
return 0;
- a_in_main_thread = &a;
if (pthread_join (thread, &thread_retval))
return 0;
return (a_in_other_thread == a_in_main_thread);
@@ -50595,7 +50595,8 @@
/* end confdefs.h. */
#include <pthread.h>
__thread int a;
- static int *a_in_other_thread;
+ int *a_in_other_thread;
+ int *a_in_main_thread;
static void *
thread_func (void *arg)
{
@@ -50607,11 +50608,10 @@
{
pthread_t thread;
void *thread_retval;
- int *a_in_main_thread;
+ a_in_main_thread = &a;
if (pthread_create (&thread, (pthread_attr_t *)0,
thread_func, (void *)0))
return 0;
- a_in_main_thread = &a;
if (pthread_join (thread, &thread_retval))
return 0;
return (a_in_other_thread == a_in_main_thread);

0 comments on commit df98d8b

Please sign in to comment.
You can’t perform that action at this time.