Mageia Bugzilla – Attachment 11616 Details for
Bug 26577
Add gdc compiler
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
patch for gdc compiler
gcc.spec.patch (text/plain), 8.39 KB, created by
Joseph Wang
on 2020-05-01 04:47:11 CEST
(
hide
)
Description:
patch for gdc compiler
Filename:
MIME Type:
Creator:
Joseph Wang
Created:
2020-05-01 04:47:11 CEST
Size:
8.39 KB
patch
obsolete
>Index: gcc.spec >=================================================================== >--- gcc.spec (revision 1573199) >+++ gcc.spec (working copy) >@@ -4,7 +4,7 @@ > %define branch 9 > %define branch_major 3 > %define branch_minor 0 >-%define rel 1 >+%define rel 2 > %define branch_tag %(perl -e 'printf "%%02d%%02d", split(/\\./,shift)' %{branch}) > %define snapshot %nil > %define rc_build %nil >@@ -23,6 +23,10 @@ > %define libssp_major 0 > %define libgomp_major 1 > %define libquadmath_major 0 >+%define libgdruntime_major 76 >+%define libgdruntime_micro 3 >+%define libgphobos_major 76 >+%define libgphobos_micro 3 > %define libitm_major 1 > %define libasan_major 5 > %define libatomic_major 1 >@@ -154,6 +158,7 @@ > %define build_libstdcxx_docs 1 > %define build_check 0 > %define build_ada 1 >+%define build_d 1 > %define build_cxx 1 > %define build_libstdcxx %{build_cxx} > %define build_fortran 1 >@@ -228,6 +233,7 @@ > %{expand: %{?_with_FORTRAN: %%global build_fortran 1}} > %{expand: %{?_with_OBJC: %%global build_objc 1}} > %{expand: %{?_with_OBJCXX: %%global build_objcp 1}} >+%{expand: %{?_with_D: %%global build_d 1}} > > # Allow --with <front-end> at rpm command line build > %{expand: %{?_without_CXX: %%global build_cxx 0}} >@@ -235,6 +241,7 @@ > %{expand: %{?_without_FORTRAN: %%global build_fortran 0}} > %{expand: %{?_without_OBJC: %%global build_objc 0}} > %{expand: %{?_without_OBJCXX: %%global build_objcp 0}} >+%{expand: %{?_without_D: %%global build_d 0}} > > # A minimal build overrides all other options > %if %{build_cross_bootstrap} >@@ -253,6 +260,7 @@ > %define build_objc 0 > %define build_objc_gc 0 > %define build_objcp 0 >+%define build_d 0 > %define build_debug 0 > %define build_libffi 0 > %define build_libitm 0 >@@ -280,6 +288,8 @@ > %define libstdcxx_name %{libstdcxx_name_orig}%{libstdcxx_major} > %define libgfortran_name_orig %{cross_prefix}libgfortran > %define libgfortran_name %{libgfortran_name_orig}%{libgfortran_major} >+%define libgphobos_name_orig %{cross_prefix}libgphobos >+%define libgphobos_name %{libgphobos_name_orig}%{libgphobos_major} > %define libobjc_name_orig %{cross_prefix}libobjc > %define libobjc_name %{libobjc_name_orig}%{libobjc_major} > %define libgnat_name_orig %{cross_prefix}libgnat >@@ -936,6 +946,48 @@ > %endif > > #################################################################### >+# D Compiler >+ >+%if %{build_d} >+%package gdc >+Summary: D support for gcc >+Group: Development/Other >+%if %{system_compiler} >+Provides: gcc%{branch}-d = %{version}-%{release} >+Provides: gdc = %{version}-%{release} >+%endif >+Requires: %{name} = %{version}-%{release} >+%if %{libc_shared} && !%{build_monolithic} >+Requires: %{libgphobos_name} = %{version}-%{release} >+%endif >+%if %{build_cross} >+AutoReq: false >+AutoProv: false >+%endif >+ >+%description gdc >+This package adds support for compiling D programs with the GNU >+compiler. >+ >+#################################################################### >+# D Libraries >+ >+%package -n %{libgphobos_name} >+Summary: D runtime libraries >+Group: System/Libraries >+Provides: %{libgphobos_name_orig} = %{version} >+Provides: %{libgphobos_name_orig}%{branch} = %{version}-%{release} >+%if %{build_cross} >+AutoReq: false >+AutoProv: false >+%endif >+%endif >+ >+%description -n %{libgphobos_name} >+This package contains D shared library which is needed to run >+D dynamically linked programs. >+ >+#################################################################### > # FFI headers and libraries > %if %{build_libffi} > %package -n %{libffi_name} >@@ -1185,6 +1237,9 @@ > %if %{build_objcp} > LANGUAGES="$LANGUAGES,obj-c++" > %endif >+%if %{build_d} >+LANGUAGES="$LANGUAGES,d" >+%endif > PROGRAM_SUFFIX="" > %if "%{program_suffix}" != "" > PROGRAM_SUFFIX="--program-suffix=%{program_suffix}" >@@ -1262,12 +1317,12 @@ > $ISL_FLAGS --with-python-dir=%{python_dir} --enable-lto --with-gcc-major-version-only > touch ../gcc/c-gperf.h > %if %{build_cross} >-%make >+%make_build > %else > # bootstrap-lean is similar to bootstrap except "object files from the stage1 > # and stage2 of the 3-stage bootstrap of the compiler are deleted as soon as > # they are no longer needed." >-%make bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" >+%make_build bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" > %endif > > cd .. >@@ -1280,6 +1335,7 @@ > mkdir -p rpm.doc/boehm-gc > mkdir -p rpm.doc/c++ > mkdir -p rpm.doc/libstdc++ >+mkdir -p rpm.doc/gdc > > %if %{build_libstdcxx} > (cd libstdc++-v3; for i in ChangeLog*; do >@@ -1312,6 +1368,11 @@ > ln -f $i ../../rpm.doc/objcp/$i.objcp > done) > %endif >+%if %{build_d} >+(cd gcc/d; for i in ChangeLog*; do >+ ln -f $i ../../rpm.doc/gdc/$i.gdclib64phoboslib64phobos >+done) >+%endif > > # [ghibo] - build printable documentation > %if %{build_pdf_doc} >@@ -1416,6 +1477,9 @@ > %if %{build_fortran} > ln -sf %{program_prefix}gfortran%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} > %endif >+%if %{build_d} >+ln -sf %{program_prefix}gdc%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gdc%{program_suffix} >+%endif > > %if %{system_compiler} > ln -s gcc %{buildroot}%{_bindir}/cc >@@ -1549,6 +1613,10 @@ > mv -f ../../../nof/libgfortranbegin.a nof/libgfortranbegin.a || : > %endif > %endif >+ %if %{build_d} >+ DispatchLibs libgphobos %{libgphobos_major}.0.%{libgphobos_micro} >+ DispatchLibs libgdruntime %{libgdruntime_major}.0.%{libgdruntime_micro} >+ %endif > popd > > # Copy <cxxabi.h> to compiler-specific directories to keep backward compatibility >@@ -1682,7 +1750,7 @@ > # FIXME: cpp, gcov manpages names > pushd %{buildroot}%{_mandir}/man1; > if [[ -n "%{program_prefix}%{program_suffix}" ]]; then >- for f in gcov cpp gcc g++ gfortran; do >+ for f in gcov cpp gcc g++ gfortran gdc; do > [[ -f "$f.1" ]] && mv $f.1 %{program_prefix}$f%{program_suffix}.1 || : > done > fi >@@ -1691,7 +1759,7 @@ > # Fix info pages > if [[ "%{name}" = "gcc%{branch}" ]]; then > pushd %{buildroot}%{_infodir}/ >- for f in cpp cppinternals gcc gfortran gnat-style gnat_rm gnat_ugn; do >+ for f in cpp cppinternals gcc gfortran gdc gnat-style gnat_rm gnat_ugn; do > if [[ -f "$f.info" ]]; then > perl -pe "/^START-INFO-DIR-ENTRY/ .. /^END-INFO-DIR-ENTRY/ and s/($f)/\${1}-%{branch}/ig" $f.info > ${f}-%{branch}.info > rm -f $f.info >@@ -2509,7 +2577,63 @@ > %{gcc_libdir}/%{gcc_target_platform}/%{branch}/cc1objplus > %endif > >+%if %{build_d} >+%files gdc >+%doc rpm.doc/gdc/* >+%{_bindir}/%{program_prefix}gdc%{program_suffix} >+%{_bindir}/%{gcc_target_platform}-gdc%{program_suffix} >+%{_mandir}/man1/gdc.1* >+%{_infodir}/gdc* > >+%dir %{_prefix}/lib/gcc >+%dir %{_prefix}/lib/gcc/%{gcc_target_platform} >+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch} >+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/include >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/include/d >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/d21 >+%{gcc_libdir}/%{gcc_target_platform}/%{branch}/libgphobos.a >+%{gcc_libdir}/%{gcc_target_platform}/%{branch}/libgdruntime.a >+ >+%if %{libc_shared} >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/libgdruntime.so >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/libgphobos.so >+%if %isarch %{biarches} >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgdruntime.a >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgphobos.a >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgdruntime.so >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgphobos.so >+%endif >+%if %isarch %{nof_arches} >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgdruntime.a >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgphobos.a >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgdruntime.so >+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgphobos.so >+%endif >+%endif >+%{target_libdir}/libgphobos.spec >+%if %isarch %{biarches} >+%{_prefix}/lib/libgphobos.spec >+%endif >+%endif >+ >+%if %{build_d} && %{libc_shared} >+%if !%{build_monolithic} >+%files -n %{libgphobos_name} >+%endif >+%{target_libdir}/libgphobos.so.%{libgphobos_major} >+%{target_libdir}/libgphobos.so.%{libgphobos_major}.0.* >+%{target_libdir}/libgdruntime.so.%{libgdruntime_major} >+%{target_libdir}/libgdruntime.so.%{libgdruntime_major}.0.* >+%{target_libdir}/libgphobos.spec >+%if %isarch %{biarches} >+%{_prefix}/lib/libgphobos.so.%{libgphobos_major} >+%{_prefix}/lib/libgphobos.so.%{libgphobos_major}.0.* >+%{_prefix}/lib/libgdruntime.so.%{libgdruntime_major} >+%{_prefix}/lib/libgdruntime.so.%{libgdruntime_major}.0.* >+%{_prefix}/lib/libgphobos.spec >+%endif >+%endif >+ > %if %{build_fortran} > %files gfortran > %doc rpm.doc/gfortran/*
Index: gcc.spec =================================================================== --- gcc.spec (revision 1573199) +++ gcc.spec (working copy) @@ -4,7 +4,7 @@ %define branch 9 %define branch_major 3 %define branch_minor 0 -%define rel 1 +%define rel 2 %define branch_tag %(perl -e 'printf "%%02d%%02d", split(/\\./,shift)' %{branch}) %define snapshot %nil %define rc_build %nil @@ -23,6 +23,10 @@ %define libssp_major 0 %define libgomp_major 1 %define libquadmath_major 0 +%define libgdruntime_major 76 +%define libgdruntime_micro 3 +%define libgphobos_major 76 +%define libgphobos_micro 3 %define libitm_major 1 %define libasan_major 5 %define libatomic_major 1 @@ -154,6 +158,7 @@ %define build_libstdcxx_docs 1 %define build_check 0 %define build_ada 1 +%define build_d 1 %define build_cxx 1 %define build_libstdcxx %{build_cxx} %define build_fortran 1 @@ -228,6 +233,7 @@ %{expand: %{?_with_FORTRAN: %%global build_fortran 1}} %{expand: %{?_with_OBJC: %%global build_objc 1}} %{expand: %{?_with_OBJCXX: %%global build_objcp 1}} +%{expand: %{?_with_D: %%global build_d 1}} # Allow --with <front-end> at rpm command line build %{expand: %{?_without_CXX: %%global build_cxx 0}} @@ -235,6 +241,7 @@ %{expand: %{?_without_FORTRAN: %%global build_fortran 0}} %{expand: %{?_without_OBJC: %%global build_objc 0}} %{expand: %{?_without_OBJCXX: %%global build_objcp 0}} +%{expand: %{?_without_D: %%global build_d 0}} # A minimal build overrides all other options %if %{build_cross_bootstrap} @@ -253,6 +260,7 @@ %define build_objc 0 %define build_objc_gc 0 %define build_objcp 0 +%define build_d 0 %define build_debug 0 %define build_libffi 0 %define build_libitm 0 @@ -280,6 +288,8 @@ %define libstdcxx_name %{libstdcxx_name_orig}%{libstdcxx_major} %define libgfortran_name_orig %{cross_prefix}libgfortran %define libgfortran_name %{libgfortran_name_orig}%{libgfortran_major} +%define libgphobos_name_orig %{cross_prefix}libgphobos +%define libgphobos_name %{libgphobos_name_orig}%{libgphobos_major} %define libobjc_name_orig %{cross_prefix}libobjc %define libobjc_name %{libobjc_name_orig}%{libobjc_major} %define libgnat_name_orig %{cross_prefix}libgnat @@ -936,6 +946,48 @@ %endif #################################################################### +# D Compiler + +%if %{build_d} +%package gdc +Summary: D support for gcc +Group: Development/Other +%if %{system_compiler} +Provides: gcc%{branch}-d = %{version}-%{release} +Provides: gdc = %{version}-%{release} +%endif +Requires: %{name} = %{version}-%{release} +%if %{libc_shared} && !%{build_monolithic} +Requires: %{libgphobos_name} = %{version}-%{release} +%endif +%if %{build_cross} +AutoReq: false +AutoProv: false +%endif + +%description gdc +This package adds support for compiling D programs with the GNU +compiler. + +#################################################################### +# D Libraries + +%package -n %{libgphobos_name} +Summary: D runtime libraries +Group: System/Libraries +Provides: %{libgphobos_name_orig} = %{version} +Provides: %{libgphobos_name_orig}%{branch} = %{version}-%{release} +%if %{build_cross} +AutoReq: false +AutoProv: false +%endif +%endif + +%description -n %{libgphobos_name} +This package contains D shared library which is needed to run +D dynamically linked programs. + +#################################################################### # FFI headers and libraries %if %{build_libffi} %package -n %{libffi_name} @@ -1185,6 +1237,9 @@ %if %{build_objcp} LANGUAGES="$LANGUAGES,obj-c++" %endif +%if %{build_d} +LANGUAGES="$LANGUAGES,d" +%endif PROGRAM_SUFFIX="" %if "%{program_suffix}" != "" PROGRAM_SUFFIX="--program-suffix=%{program_suffix}" @@ -1262,12 +1317,12 @@ $ISL_FLAGS --with-python-dir=%{python_dir} --enable-lto --with-gcc-major-version-only touch ../gcc/c-gperf.h %if %{build_cross} -%make +%make_build %else # bootstrap-lean is similar to bootstrap except "object files from the stage1 # and stage2 of the 3-stage bootstrap of the compiler are deleted as soon as # they are no longer needed." -%make bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" +%make_build bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" %endif cd .. @@ -1280,6 +1335,7 @@ mkdir -p rpm.doc/boehm-gc mkdir -p rpm.doc/c++ mkdir -p rpm.doc/libstdc++ +mkdir -p rpm.doc/gdc %if %{build_libstdcxx} (cd libstdc++-v3; for i in ChangeLog*; do @@ -1312,6 +1368,11 @@ ln -f $i ../../rpm.doc/objcp/$i.objcp done) %endif +%if %{build_d} +(cd gcc/d; for i in ChangeLog*; do + ln -f $i ../../rpm.doc/gdc/$i.gdclib64phoboslib64phobos +done) +%endif # [ghibo] - build printable documentation %if %{build_pdf_doc} @@ -1416,6 +1477,9 @@ %if %{build_fortran} ln -sf %{program_prefix}gfortran%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} %endif +%if %{build_d} +ln -sf %{program_prefix}gdc%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gdc%{program_suffix} +%endif %if %{system_compiler} ln -s gcc %{buildroot}%{_bindir}/cc @@ -1549,6 +1613,10 @@ mv -f ../../../nof/libgfortranbegin.a nof/libgfortranbegin.a || : %endif %endif + %if %{build_d} + DispatchLibs libgphobos %{libgphobos_major}.0.%{libgphobos_micro} + DispatchLibs libgdruntime %{libgdruntime_major}.0.%{libgdruntime_micro} + %endif popd # Copy <cxxabi.h> to compiler-specific directories to keep backward compatibility @@ -1682,7 +1750,7 @@ # FIXME: cpp, gcov manpages names pushd %{buildroot}%{_mandir}/man1; if [[ -n "%{program_prefix}%{program_suffix}" ]]; then - for f in gcov cpp gcc g++ gfortran; do + for f in gcov cpp gcc g++ gfortran gdc; do [[ -f "$f.1" ]] && mv $f.1 %{program_prefix}$f%{program_suffix}.1 || : done fi @@ -1691,7 +1759,7 @@ # Fix info pages if [[ "%{name}" = "gcc%{branch}" ]]; then pushd %{buildroot}%{_infodir}/ - for f in cpp cppinternals gcc gfortran gnat-style gnat_rm gnat_ugn; do + for f in cpp cppinternals gcc gfortran gdc gnat-style gnat_rm gnat_ugn; do if [[ -f "$f.info" ]]; then perl -pe "/^START-INFO-DIR-ENTRY/ .. /^END-INFO-DIR-ENTRY/ and s/($f)/\${1}-%{branch}/ig" $f.info > ${f}-%{branch}.info rm -f $f.info @@ -2509,7 +2577,63 @@ %{gcc_libdir}/%{gcc_target_platform}/%{branch}/cc1objplus %endif +%if %{build_d} +%files gdc +%doc rpm.doc/gdc/* +%{_bindir}/%{program_prefix}gdc%{program_suffix} +%{_bindir}/%{gcc_target_platform}-gdc%{program_suffix} +%{_mandir}/man1/gdc.1* +%{_infodir}/gdc* +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/include +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/include/d +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/d21 +%{gcc_libdir}/%{gcc_target_platform}/%{branch}/libgphobos.a +%{gcc_libdir}/%{gcc_target_platform}/%{branch}/libgdruntime.a + +%if %{libc_shared} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/libgdruntime.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/libgphobos.so +%if %isarch %{biarches} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgdruntime.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgphobos.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgdruntime.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/32/libgphobos.so +%endif +%if %isarch %{nof_arches} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgdruntime.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgphobos.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgdruntime.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{branch}/nof/libgphobos.so +%endif +%endif +%{target_libdir}/libgphobos.spec +%if %isarch %{biarches} +%{_prefix}/lib/libgphobos.spec +%endif +%endif + +%if %{build_d} && %{libc_shared} +%if !%{build_monolithic} +%files -n %{libgphobos_name} +%endif +%{target_libdir}/libgphobos.so.%{libgphobos_major} +%{target_libdir}/libgphobos.so.%{libgphobos_major}.0.* +%{target_libdir}/libgdruntime.so.%{libgdruntime_major} +%{target_libdir}/libgdruntime.so.%{libgdruntime_major}.0.* +%{target_libdir}/libgphobos.spec +%if %isarch %{biarches} +%{_prefix}/lib/libgphobos.so.%{libgphobos_major} +%{_prefix}/lib/libgphobos.so.%{libgphobos_major}.0.* +%{_prefix}/lib/libgdruntime.so.%{libgdruntime_major} +%{_prefix}/lib/libgdruntime.so.%{libgdruntime_major}.0.* +%{_prefix}/lib/libgphobos.spec +%endif +%endif + %if %{build_fortran} %files gfortran %doc rpm.doc/gfortran/*
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 26577
: 11616 |
11617