[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
198/210: gnu: Add gcc-mesboot-4.9.4.
From: |
Jan Nieuwenhuizen |
Subject: |
198/210: gnu: Add gcc-mesboot-4.9.4. |
Date: |
Sat, 8 Sep 2018 10:36:35 -0400 (EDT) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit af4e6ada8ddd357f3b64affc455255101d4a39cd
Author: Jan Nieuwenhuizen <address@hidden>
Date: Thu Sep 6 21:32:20 2018 +0200
gnu: Add gcc-mesboot-4.9.4.
* gnu/packages/commencement.scm (gcc-mesboot1): Rename from gcc-mesboot.
(gcc-mesboot): New variable
---
gnu/packages/commencement.scm | 163 +++++++++++++++++++++++++++++++++++++-----
1 file changed, 145 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 4c8c832..3fc763b 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -948,6 +948,9 @@ ac_cv_c_float_format='IEEE (little-endian)'
(variable "C_INCLUDE_PATH")
(files '("include")))
(search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
(variable "LIBRARY_PATH")
(files '("lib"))))))))
@@ -1015,8 +1018,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(copy-file "gcc/libgcc2.a" (string-append out
"/lib/libgcc2.a"))))))))
((#:configure-flags configure-flags)
`(let ((out (assoc-ref %outputs "out")))
- `( ;;"--enable-static"
- "--disable-shared"
+ `("--disable-shared"
"--disable-werror"
"--build=i686-unknown-linux-gnu"
"--host=i686-unknown-linux-gnu"
@@ -1119,11 +1121,11 @@ ac_cv_c_float_format='IEEE (little-endian)'
(base32
"1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1"))))))
-(define-public gcc-mesboot
+(define-public gcc-mesboot1
(package-with-bootstrap-guile
(package
(inherit gcc-mesboot0)
- (name "gcc-mesboot")
+ (name "gcc-mesboot1")
(version "4.7.4")
(source (origin
(method url-fetch)
@@ -1148,6 +1150,15 @@ ac_cv_c_float_format='IEEE (little-endian)'
("make" ,make-mesboot)))
(arguments
`(,@(substitute-keyword-arguments (package-arguments gcc-core-mesboot)
+ ((#:make-flags make-flags)
+ `(let* ((libc (assoc-ref %build-inputs "libc"))
+ (ldflags (string-append
+ "-B" libc "/lib "
+ "-Wl,-dynamic-linker "
+ "-Wl," libc
+ ,(glibc-dynamic-linker))))
+ (list (string-append "LDFLAGS=" ldflags)
+ (string-append "LDFLAGS_FOR_TARGET=" ldflags))))
((#:phases phases)
`(modify-phases ,phases
;; c&p from commencement.scm:gcc-boot0
@@ -1221,36 +1232,36 @@ ac_cv_c_float_format='IEEE (little-endian)'
"--disable-lto-plugin"
"--disable-multilib"
"--disable-plugin"
- "--disable-shared"
"--disable-threads"
"--enable-languages=c,c++"
"--enable-static"
+ ;; libstdc++.so: error: depends on 'libgcc_s.so.1',
which cannot be found in RUNPATH ()
+ "--disable-shared"
"--enable-threads=single"
;; libstdc++ cannot be built at this stage
;; ("Link tests are not allowed after
;; GCC_NO_EXECUTABLES.").
- '"--disable-libstdc__-v3"
+ ;;; We NEED this later -- possibly add it in next
gcc-mesboot...?
+ ;;;'"--disable-libstdc__-v3"
;; No pre-compiled libstdc++ headers, to save space.
"--disable-libstdcxx-pch"
;; for libcpp ...
- "--disable-build-with-cxx")))
- ((#:make-flags make-flags)
- ''())))))))
+ "--disable-build-with-cxx")))))))))
-(define-public gcc-mesboot-wrapper
+(define-public gcc-mesboot1-wrapper
(package-with-bootstrap-guile
(package
- (inherit gcc-mesboot)
- (name "gcc-mesboot-wrapper")
+ (inherit gcc-mesboot1)
+ (name "gcc-mesboot1-wrapper")
(source #f)
(inputs '())
(native-inputs `(("bash" ,%bootstrap-coreutils&co)
("libc" ,glibc-mesboot)
- ("gcc" ,gcc-mesboot)))
+ ("gcc" ,gcc-mesboot1)))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
@@ -1281,7 +1292,12 @@ exec " gcc "/bin/" program
" \"address@hidden"
"))
(chmod wrapper #o555)))))
- '("gcc" "g++"))
+ '(
+ "gcc"
+ "g++"
+ "i686-unknown-linux-gnu-gcc"
+ "i686-unknown-linux-gnu-g++"
+ ))
#t)))
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
@@ -1308,7 +1324,7 @@ exec " gcc "/bin/" program
"0vlz4x6cgz7h54qq4528q526qlhnsjzbsvgc4iizn76cb0bfanx7"))))
(native-inputs `(("binutils" ,binutils-mesboot)
("libc" ,glibc-mesboot0)
- ("gcc" ,gcc-mesboot)
+ ("gcc" ,gcc-mesboot1)
("headers" ,mesboot-headers)
("bash" ,%bootstrap-coreutils&co)
@@ -1409,7 +1425,7 @@ exec " gcc "/bin/" program
(native-inputs `(("binutils" ,binutils-mesboot)
("libc" ,glibc-mesboot0)
("headers" ,glibc-headers-mesboot)
- ("gcc" ,gcc-mesboot)
+ ("gcc" ,gcc-mesboot1)
("bash" ,%bootstrap-coreutils&co)
("coreutils" ,%bootstrap-coreutils&co)
@@ -1418,7 +1434,7 @@ exec " gcc "/bin/" program
("make" ,make-mesboot)))
(arguments
- `(#:validate-runpath? #f
+ `(#:validate-runpath? #f ; fails when using --enable-shared
,@(substitute-keyword-arguments (package-arguments
glibc-headers-mesboot)
((#:make-flags make-flags)
`(let ((bash (assoc-ref %build-inputs "bash")))
@@ -1449,6 +1465,116 @@ exec " gcc "/bin/" program
(variable "LIBRARY_PATH")
(files '("lib"))))))))
+(define-public gcc-mesboot
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot1)
+ (name "gcc-mesboot")
+ (version "4.9.4")
+ (source (package-source gcc-4.9))
+ (native-inputs `(("binutils" ,binutils-mesboot)
+ ("gcc-wrapper" ,gcc-mesboot1-wrapper)
+ ("gcc" ,gcc-mesboot1)
+ ("libc" ,glibc-mesboot)
+
+ ("bash" ,%bootstrap-coreutils&co)
+ ("coreutils" ,%bootstrap-coreutils&co)
+ ("diffutils" ,diffutils-mesboot)
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)
+ ("make" ,make-mesboot)))
+ (arguments
+ `(#:validate-runpath? #f
+ ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1)
+ ;; ((#:configure-flags configure-flags)
+ ;; `(append ,configure-flags
+ ;; '("--with-host-libstdcxx=-lsupc++"
+ ;; "--enable-shared")))
+ ((#:configure-flags configure-flags)
+ `(let ((out (assoc-ref %outputs "out"))
+ (glibc (assoc-ref %build-inputs "libc")))
+ (list (string-append "--prefix=" out)
+ "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+
+ "--with-host-libstdcxx=-lsupc++"
+
+ (string-append "--with-native-system-header-dir=" glibc
"/include")
+ (string-append "--with-build-sysroot=" glibc "/include")
+
+ "--disable-bootstrap"
+ "--disable-decimal-float"
+ "--disable-libatomic"
+ "--disable-libcilkrts"
+ "--disable-libgomp"
+ "--disable-libitm"
+ "--disable-libmudflap"
+ "--disable-libquadmath"
+ "--disable-libsanitizer"
+ "--disable-libssp"
+ "--disable-libvtv"
+ "--disable-lto"
+ "--disable-lto-plugin"
+ "--disable-multilib"
+ "--disable-plugin"
+ "--disable-threads"
+ "--enable-languages=c,c++"
+
+ "--enable-static"
+ ;; libstdc++.so: error: depends on 'libgcc_s.so.1',
which cannot be found in RUNPATH ()
+ ;;"--disable-shared"
+ "--enable-shared"
+ "--enable-threads=single"
+
+ ;; libstdc++ cannot be built at this stage
+ ;; ("Link tests are not allowed after
+ ;; GCC_NO_EXECUTABLES.").
+ ;;; We NEED this later -- possibly add it in next
gcc-mesboot...?
+ ;;;'"--disable-libstdc__-v3"
+
+ ;; No pre-compiled libstdc++ headers, to save space.
+ "--disable-libstdcxx-pch"
+
+ ;; for libcpp ...
+ "--disable-build-with-cxx")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (binutils (assoc-ref %build-inputs "binutils"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (glibc (assoc-ref %build-inputs "libc"))
+ (kernel-headers (assoc-ref %build-inputs
"kernel-headers")))
+ (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
+ (setenv "C_INCLUDE_PATH" (string-append
+ gcc
"/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include"
+ ":" kernel-headers "/include"
+ ":" glibc "/include"
+ ":" (getcwd) "/mpfr/src"))
+ (setenv "CPLUS_INCLUDE_PATH" (string-append
+ gcc
"/lib/gcc-lib/i686-unknown-linux-gnu/4.7.4/include"
+ ":" kernel-headers
"/include"
+ ":" glibc "/include"
+ ":" (getcwd) "/mpfr/src"))
+ (setenv "LIBRARY_PATH" (string-append glibc "/lib"
+ ":" gcc "/lib"))
+ (format (current-error-port) "C_INCLUDE_PATH=~a\n"
(getenv "C_INCLUDE_PATH"))
+ (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n"
(getenv "CPLUS_INCLUDE_PATH"))
+ (format (current-error-port) "LIBRARY_PATH=~a\n" (getenv
"LIBRARY_PATH"))
+ #t)))))))))))
+
+(define-public gcc-mesboot-wrapper
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot1-wrapper)
+ (name "gcc-mesboot-wrapper")
+ (source #f)
+ (inputs '())
+ (native-inputs `(("bash" ,%bootstrap-coreutils&co)
+ ("libc" ,glibc-mesboot)
+ ("gcc" ,gcc-mesboot))))))
+
(define-public m4-mesboot
(package-with-bootstrap-guile
(package
@@ -1484,7 +1610,8 @@ exec " gcc "/bin/" program
(append (match (%current-system)
("i686-linux" `(("libc" ,glibc-mesboot)
("binutils" ,binutils-mesboot)
- ("gcc" ,gcc-mesboot-wrapper)))
+ ("gcc-wrapper" ,gcc-mesboot-wrapper)
+ ("gcc" ,gcc-mesboot)))
(_ '()))
(%bootstrap-inputs)))
- 195/210: glibc-mesboot: do not validate runpath, (continued)
- 195/210: glibc-mesboot: do not validate runpath, Jan Nieuwenhuizen, 2018/09/08
- 184/210: gnu: mesboot-headers: Cleanup., Jan Nieuwenhuizen, 2018/09/08
- 197/210: Oops, libstdc++ build fixes WIP, Jan Nieuwenhuizen, 2018/09/08
- 175/210: gnu: glibc-mesboot: Remove %bootstrap-glibc., Jan Nieuwenhuizen, 2018/09/08
- 170/210: gnu: make-mesboot: Update to 3.82., Jan Nieuwenhuizen, 2018/09/08
- 178/210: gnu: tcc-boot0: Cleanup., Jan Nieuwenhuizen, 2018/09/08
- 179/210: gnu: tcc-boot: Cleanup., Jan Nieuwenhuizen, 2018/09/08
- 173/210: gnu: Add mesboot-headers., Jan Nieuwenhuizen, 2018/09/08
- 169/210: bootstrap: Evaluate %bootstrap-inputs+toolchain at build time., Jan Nieuwenhuizen, 2018/09/08
- 166/210: gnu: file-boot0: Do not strip binaries or validate-runpath., Jan Nieuwenhuizen, 2018/09/08
- 198/210: gnu: Add gcc-mesboot-4.9.4.,
Jan Nieuwenhuizen <=
- 145/210: bootstrap: Integrate mes bootstrap for i686-linux., Jan Nieuwenhuizen, 2018/09/08
- 66/210: gnu: binutils-boot: Update to 2.30., Jan Nieuwenhuizen, 2018/09/08
- 160/210: gnu: Add mpc-boot 1.0.3., Jan Nieuwenhuizen, 2018/09/08
- 155/210: Revert "gnu: Add %diffutils-static, %diffutils-static-stripped, %diffutils-bootstrap-tarball.", Jan Nieuwenhuizen, 2018/09/08
- 156/210: Revert "gnu: Add %bootstrap-make.", Jan Nieuwenhuizen, 2018/09/08
- 150/210: gnu: Add make-mesboot 3.79., Jan Nieuwenhuizen, 2018/09/08
- 193/210: gnu: glibc-mesboot: Oops, install everything., Jan Nieuwenhuizen, 2018/09/08
- 171/210: %bootstrap-linux-libre-headers: Update, Jan Nieuwenhuizen, 2018/09/08
- 174/210: gnu: glibc-mesboot: Update to 2.16.0., Jan Nieuwenhuizen, 2018/09/08
- 168/210: gnu: gcc-mesboot-wrapper: Wrap g++ too., Jan Nieuwenhuizen, 2018/09/08