gcc: enable libgomp build.

* add libgomp to gcc_syslibs.
This commit is contained in:
Jerome Duval
2016-06-03 23:11:49 +02:00
parent 0f3f3d8c38
commit 4c4a6cb0b8
2 changed files with 221 additions and 7 deletions

View File

@@ -5,7 +5,7 @@ HOMEPAGE="http://gcc.gnu.org"
SOURCE_URI="https://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.bz2"
CHECKSUM_SHA256="b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db"
REVISION="4"
REVISION="5"
LICENSE="
GNU GPL v3
GNU LGPL v3
@@ -20,6 +20,9 @@ SECONDARY_ARCHITECTURES="x86"
libatomicSoVersion="1"
libatomicLibVersion="1.1.0"
libgompSoVersion="1"
libgompLibVersion="1.0.0"
libstdcxxSoVersion="6"
libstdcxxLibVersion="6.0.21"
@@ -189,12 +192,20 @@ INSTALL()
# libatomic
strip --strip-debug $gccLibDir/libatomic.so.$libatomicLibVersion
cp -d $gccLibDir/libstdc++.so \
cp -d $gccLibDir/libatomic.so \
$gccLibDir/libatomic.so.$libatomicSoVersion \
$gccLibDir/libatomic.so.$libatomicLibVersion \
$libDir/
cp $gccLibDir/libatomic*.a $developLibDir/
# libgomp
strip --strip-debug $gccLibDir/libgomp.so.$libgompLibVersion
cp -d $gccLibDir/libgomp.so \
$gccLibDir/libgomp.so.$libgompSoVersion \
$gccLibDir/libgomp.so.$libgompLibVersion \
$libDir/
cp $gccLibDir/libgomp*.a $developLibDir/
# libstdc++
strip --strip-debug $gccLibDir/libstdc++.so.$libstdcxxLibVersion
cp -d $gccLibDir/libstdc++.so \
@@ -281,6 +292,8 @@ INSTALL()
$relativeLibDir/libatomic.so.$libatomicLibVersion \
$relativeLibDir/libgcc_s.so \
$relativeLibDir/libgcc_s.so.$libgccSoVersion \
$relativeLibDir/libgomp.so.$libgompSoVersion \
$relativeLibDir/libgomp.so.$libgompLibVersion \
$relativeLibDir/libstdc++.so \
$relativeLibDir/libstdc++.so.$libstdcxxSoVersion \
$relativeLibDir/libstdc++.so.$libstdcxxLibVersion \
@@ -292,6 +305,7 @@ INSTALL()
$relativeDevelopLibDir/libgcc-kernel.a \
$relativeDevelopLibDir/libgcc_eh.a \
$relativeDevelopLibDir/libgcc_eh-kernel.a \
$relativeDevelopLibDir/libgomp.a \
$relativeDevelopLibDir/libstdc++.a \
$relativeDevelopLibDir/libsupc++.a \
$relativeDevelopLibDir/libsupc++-kernel.a \
@@ -312,6 +326,7 @@ PROVIDES_syslibs="
gcc${secondaryArchSuffix}_syslibs = $portVersion compat >= 4
lib:libatomic$secondaryArchSuffix = $libatomicLibVersion compat >= $libatomicSoVersion
lib:libgcc_s$secondaryArchSuffix = $portVersion compat >= 4
lib:libgomp$secondaryArchSuffix = $libgompLibVersion compat >= $libgompSoVersion
lib:libstdc++$secondaryArchSuffix = $portVersion compat >= 4
lib:libsupc++$secondaryArchSuffix = $portVersion compat >= 4
"

View File

@@ -1,4 +1,4 @@
From e8b3514cf865260198c44df9e96bcede9354ef34 Mon Sep 17 00:00:00 2001
From 0fa93a7c7a5ec1f06682682beee56d1f9fb2da01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
Date: Sun, 19 Jul 2015 18:55:34 +0200
Subject: Haiku patch
@@ -2323,7 +2323,7 @@ index 24d13f3..94d96d9 100644
2.2.2
From 019aef95930914c36b331040ab765c632ecd8531 Mon Sep 17 00:00:00 2001
From ad5faeb68d2e2bbb25816713f06ad694c97945f2 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 10 Dec 2015 22:07:03 +0000
Subject: Haiku: regenerate configure.
@@ -2844,7 +2844,7 @@ index 8cd4c76..d12f460 100755
2.2.2
From 3efaf43ef1e17c2ae9c850bff083ca6426173144 Mon Sep 17 00:00:00 2001
From d116557f4a9c7273155973419f1e7781c907477b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 12 Dec 2015 09:55:48 +0000
Subject: config.host (i[34567]86-*-haiku* and x86_64-*-haiku*):
@@ -2869,7 +2869,7 @@ index dc73f2a..32e3cd2 100644
2.2.2
From 8d10a3be9423306faf5e80b15aa56de566c00ed3 Mon Sep 17 00:00:00 2001
From 7f76a6991e90ba5f99004aed70daceeb1daf9b2e Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 29 Feb 2016 22:17:31 +0000
Subject: sync with buildtools repo
@@ -2915,7 +2915,7 @@ index 9ff36f1..4dff89e 100644
2.2.2
From ad57ccfd7ac54f77a92bf6d2d2f33947f285d9a4 Mon Sep 17 00:00:00 2001
From 137d5c5a29ce43da76ea3f281b34273df54389a6 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 10 Apr 2016 12:27:58 +0000
Subject: enable libatomic build on Haiku
@@ -3089,3 +3089,202 @@ index 3c1fedd..1d0a89d 100644
--
2.2.2
From 84206829f3b780bcadbb4fe423d848c9ce0cf9bf Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 3 Jun 2016 12:42:22 +0200
Subject: enable libgomp build on Haiku
diff --git a/configure b/configure
index fd08e27..e28c3ef 100755
--- a/configure
+++ b/configure
@@ -3172,7 +3172,7 @@ if test x$enable_libgomp = x ; then
;;
*-*-solaris2* | *-*-hpux11*)
;;
- *-*-darwin* | *-*-aix*)
+ *-*-darwin* | *-*-aix* | *-*-haiku*)
;;
*)
noconfigdirs="$noconfigdirs target-libgomp"
diff --git a/configure.ac b/configure.ac
index 127b6d4..ec2ec71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -540,7 +540,7 @@ if test x$enable_libgomp = x ; then
;;
*-*-solaris2* | *-*-hpux11*)
;;
- *-*-darwin* | *-*-aix*)
+ *-*-darwin* | *-*-aix* | *-*-haiku*)
;;
*)
noconfigdirs="$noconfigdirs target-libgomp"
diff --git a/libgomp/configure b/libgomp/configure
index 33b8cf1..23c6296 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -8209,8 +8209,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
haiku*)
# PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
;;
hpux*)
@@ -10322,8 +10320,9 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
- hardcode_into_libs=yes
+ sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
+ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
+ hardcode_into_libs=no
;;
hpux9* | hpux10* | hpux11*)
@@ -10840,7 +10839,7 @@ else
lt_cv_dlopen_libs=
case $host_os in
- beos*)
+ beos* | haiku* )
lt_cv_dlopen="load_add_on"
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
@@ -11118,7 +11117,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11121 "configure"
+#line 11120 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11224,7 +11223,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11227 "configure"
+#line 11226 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12084,8 +12083,6 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
haiku*)
# PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static_FC=
;;
hpux*)
@@ -13962,8 +13959,9 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
- hardcode_into_libs=yes
+ sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
+ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
+ hardcode_into_libs=no
;;
hpux9* | hpux10* | hpux11*)
@@ -15041,7 +15039,6 @@ case "$host" in
*)
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
- CFLAGS="$CFLAGS -pthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -15055,9 +15052,9 @@ pthread_t t; pthread_create(&t,NULL,g,NULL);
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- XPCFLAGS=" -Wc,-pthread"
+
else
- CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
+ CFLAGS="$CFLAGS -pthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
@@ -15071,6 +15068,22 @@ pthread_t t; pthread_create(&t,NULL,g,NULL);
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
+ XPCFLAGS=" -Wc,-pthread"
+else
+ CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+ void *g(void *d) { return NULL; }
+int
+main ()
+{
+pthread_t t; pthread_create(&t,NULL,g,NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
else
as_fn_error "Pthreads are required to build libgomp" "$LINENO" 5
@@ -15080,6 +15093,9 @@ rm -f core conftest.err conftest.$ac_objext \
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
esac
# Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*-
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 51e646d..9b9b7d0 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -182,21 +182,27 @@ case "$host" in
*)
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
- CFLAGS="$CFLAGS -pthread"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>
void *g(void *d) { return NULL; }],
[pthread_t t; pthread_create(&t,NULL,g,NULL);])],
- [XPCFLAGS=" -Wc,-pthread"],
- [CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
+ [],
+ [CFLAGS="$CFLAGS -pthread"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>
void *g(void *d) { return NULL; }],
[pthread_t t; pthread_create(&t,NULL,g,NULL);])],
- [],
- [AC_MSG_ERROR([Pthreads are required to build libgomp])])])
+ [XPCFLAGS=" -Wc,-pthread"],
+ [CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>
+ void *g(void *d) { return NULL; }],
+ [pthread_t t; pthread_create(&t,NULL,g,NULL);])],
+ [],
+ [AC_MSG_ERROR([Pthreads are required to build libgomp])])])])
esac
m4_include([plugin/configfrag.ac])
--
2.2.2