%global DATE 20141101 %global SVNREV 216995 %global gcc_version 4.9.2 %global ghdlver 0.34dev %global ghdlgitrev .20160914git707123f %ifarch %{ix86} x86_64 %bcond_without mcode %else %bcond_with mcode %endif %bcond_without llvm Summary: A VHDL simulator, using the GCC technology Name: ghdl Version: %{ghdlver} Release: 0%{ghdlgitrev}.0%{?dist} License: GPLv2+ Group: Development/Languages URL: http://ghdl.free.fr/ # HOWTO create source files from ghdl git at github.com # check out the git repo # git clone https://github.com/tgingold/ghdl.git # tar cvJf ghdl%{ghdlgitrev}.tar.bz2 --exclude-vcs ghdl # cd translate/gcc/ # ./dist.sh sources # # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: # svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_7-branch@%{SVNREV} gcc-%{version}-%{DATE} # tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2 Source0: gcc-%{gcc_version}-%{DATE}.tar.bz2 %global isl_version 0.12.2 Source1: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2 %global cloog_version 0.18.1 Source2: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-%{cloog_version}.tar.gz Patch0: gcc49-hack.patch Patch1: gcc49-java-nomulti.patch Patch2: gcc49-ppc32-retaddr.patch Patch3: gcc49-rh330771.patch Patch4: gcc49-i386-libgomp.patch Patch5: gcc49-sparc-config-detection.patch Patch6: gcc49-libgomp-omp_h-multilib.patch Patch7: gcc49-libtool-no-rpath.patch Patch8: gcc49-cloog-dl.patch Patch9: gcc49-cloog-dl2.patch Patch10: gcc49-pr38757.patch Patch11: gcc49-libstdc++-docs.patch Patch12: gcc49-no-add-needed.patch Patch14: gcc49-pr56493.patch Patch15: gcc49-color-auto.patch Patch16: gcc49-libgo-p224.patch Patch17: gcc49-aarch64-async-unw-tables.patch Patch18: gcc49-aarch64-unwind-opt.patch Patch19: gcc49-pr63659.patch Patch1100: cloog-%{cloog_version}-ppc64le-config.patch Source100: ghdl%{ghdlgitrev}.tar.bz2 Patch104: ghdl-grtbuild.patch Patch105: ghdl-grtadac.patch # Both following patches have been sent to upstream mailing list: # From: Thomas Sailer # To: ghdl-discuss@gna.org # Date: Thu, 02 Apr 2009 15:36:00 +0200 # https://gna.org/bugs/index.php?13390 Patch106: ghdl-ppc64abort.patch # http://gcc.gnu.org/ml/gcc-patches/2012-10/msg02505.html Patch112: ghdl-llvm38.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Requires: gcc # (Build)Requires from fc gcc41 package %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch s390x %global multilib_32_arch s390 %endif %ifarch sparc64 %global multilib_32_arch sparc %endif %ifarch ppc64 %global multilib_32_arch ppc %endif %ifarch x86_64 %global multilib_32_arch i386 %endif %global build_cloog 1 %global build_libstdcxx_docs 1 %ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %global attr_ifunc 1 %else %global attr_ifunc 0 %endif # Need binutils with -pie support >= 2.14.90.0.4-4 # Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4 # Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2 # Need binutils which support .weakref >= 2.16.91.0.3-1 BuildRequires: binutils #BuildRequires: binutils >= 2.24 BuildRequires: zlib-devel, gettext, bison, flex, sharutils, texinfo, texinfo-tex, gawk, /usr/bin/pod2man # Make sure pthread.h doesn't contain __thread tokens # Make sure glibc supports stack protector BuildRequires: glibc-devel >= 2.4.90-13 BuildRequires: elfutils-devel >= 0.147 BuildRequires: elfutils-libelf-devel >= 0.147 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha # Make sure glibc supports TFmode long double BuildRequires: glibc >= 2.3.90-35 %endif # GHDL requires Ada to build BuildRequires: gcc-gnat >= 4.3, libgnat-devel >= 4.3 %ifarch x86_64 BuildRequires: libgnat-devel.i686 >= 4.3 %endif # GCC build requirements BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1 BuildRequires: gcc-c++ >= 4.3 # Need .eh_frame ld optimizations # Need proper visibility support # Need -pie support # Need --as-needed/--no-as-needed support # On ppc64, need omit dot symbols support and --non-overlapping-opd # Need binutils that owns /usr/bin/c++filt # Need binutils that support .weakref Requires: binutils >= 2.16.91.0.3-1 # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 %ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha # Make sure glibc supports TFmode long double Requires: glibc >= 2.3.90-35 %endif %ifarch %{multilib_64_archs} sparcv9 ppc # Ensure glibc{,-devel} is installed for both multilib arches BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so %endif %ifarch ia64 BuildRequires: libunwind >= 0.98 %endif # for x86, we also build the mcode version; if on x86_64, we need some 32bit libraries %if %{with llvm} BuildRequires: libedit-devel BuildRequires: clang BuildRequires: llvm BuildRequires: llvm-devel BuildRequires: llvm-static %endif Requires: ghdl-grt = %{version}-%{release} Provides: bundled(libiberty) # gcc-gnat only available on these: ExclusiveArch: %{GNAT_arches} # the following arches are not supported by the base compiler: ExcludeArch: armv7hl # Make sure we don't use clashing namespaces %global _vendor fedora_ghdl %global _gnu %{nil} %ifarch sparc %global gcc_target_platform sparc64-%{_vendor}-%{_target_os} %endif %ifarch ppc %global gcc_target_platform ppc64-%{_vendor}-%{_target_os} %endif %ifnarch sparc ppc %global gcc_target_platform %{_target_platform} %endif # do not strip libgrt.a -- makes debugging tedious otherwise %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's#/usr/lib/rpm/redhat/brp-strip-static-archive .*##g') %description GHDL is a VHDL simulator, using the GCC technology. VHDL is a language standardized by the IEEE, intended for developing electronic systems. GHDL implements the VHDL language according to the IEEE 1076-1987 or the IEEE 1076-1993 standard. It compiles VHDL files and creates a binary that simulates (or executes) your design. GHDL does not do synthesis: it cannot translate your design into a netlist. Since GHDL is a compiler (i.e., it generates object files), you can call functions or procedures written in a foreign language, such as C, C++, or Ada95. %package grt Summary: GHDL runtime libraries Group: System Environment/Libraries # rhbz #316311 Requires: zlib-devel, libgnat >= 4.3 %description grt This package contains the runtime libraries needed to link ghdl-compiled object files into simulator executables. grt contains the simulator kernel that tracks signal updates and schedules processes. %ifarch %{ix86} x86_64 %if %{with mcode} %package mcode Summary: GHDL with mcode backend Group: Development/Languages Requires: ghdl-mcode-grt = %{version}-%{release} %description mcode This package contains the ghdl compiler with the mcode backend. The mcode backend provides for faster compile time at the expense of longer run time. %package mcode-grt Summary: GHDL mcode runtime libraries Group: System Environment/Libraries %description mcode-grt This package contains the runtime libraries needed to link ghdl-mcode-compiled object files into simulator executables. mcode-grt contains the simulator kernel that tracks signal updates and schedules processes. %endif %endif %if %{with llvm} %package llvm Summary: GHDL with LLVM backend Group: Development/Languages Requires: ghdl-llvm-grt = %{version}-%{release} %description llvm This package contains the ghdl compiler with the LLVM backend. The LLVM backend is experimental. %package llvm-grt Summary: GHDL LLVM runtime libraries Group: System Environment/Libraries %description llvm-grt This package contains the runtime libraries needed to link ghdl-llvm-compiled object files into simulator executables. llvm-grt contains the simulator kernel that tracks signal updates and schedules processes. %endif %prep %setup -q -n gcc-%{gcc_version}-%{DATE} -a 1 -a 2 -a 100 %patch0 -p0 -b .hack~ %patch1 -p0 -b .java-nomulti~ %patch2 -p0 -b .ppc32-retaddr~ %patch3 -p0 -b .rh330771~ %patch4 -p0 -b .i386-libgomp~ %patch5 -p0 -b .sparc-config-detection~ %patch6 -p0 -b .libgomp-omp_h-multilib~ %patch7 -p0 -b .libtool-no-rpath~ %if %{build_cloog} %patch8 -p0 -b .cloog-dl~ %patch9 -p0 -b .cloog-dl2~ %endif %patch10 -p0 -b .pr38757~ %if %{build_libstdcxx_docs} %patch11 -p0 -b .libstdc++-docs~ %endif %patch12 -p0 -b .no-add-needed~ %patch14 -p0 -b .pr56493~ %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7 %patch15 -p0 -b .color-auto~ %endif %patch16 -p0 -b .libgo-p224~ rm -f libgo/go/crypto/elliptic/p224{,_test}.go %patch17 -p0 -b .aarch64-async-unw-tables~ %patch18 -p0 -b .aarch64-unwind-opt~ %patch19 -p0 -b .pr63659~ %ifarch %{ix86} x86_64 %if %{with mcode} cp -r ghdl ghdl-mcode pushd ghdl-mcode %if "%{?_lib}" == "lib64" perl -i -pe 's,^libdirsuffix=.*$,libdirsuffix=lib64/ghdl/mcode,' configure %else perl -i -pe 's,^libdirsuffix=.*$,libdirsuffix=lib/ghdl/mcode,' configure %endif perl -i -pe 's,^libdirreverse=.*$,libdirreverse=../../..,' configure popd %endif %endif %if %{with llvm} cp -r ghdl ghdl-llvm pushd ghdl-llvm %patch112 -p0 -b .llvm38 %if "%{?_lib}" == "lib64" perl -i -pe 's,^libdirsuffix=.*$,libdirsuffix=lib64/ghdl/llvm,' configure %else perl -i -pe 's,^libdirsuffix=.*$,libdirsuffix=lib/ghdl/llvm,' configure %endif perl -i -pe 's,^libdirreverse=.*$,libdirreverse=../../..,' configure popd %endif sed -i -e 's/4\.9\.3/4.9.2/' gcc/BASE-VER echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE pushd ghdl ./configure --prefix=/usr --with-gcc=.. make copy-sources popd %patch104 -p0 -b .grtbuild #patch105 -p1 -b .grtadac %patch106 -p0 -b .ppc64abort %patch1100 -p0 -b .cloog-ppc64le-config~ %if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 # Default to -gdwarf-4 -fno-debug-types-section rather than -gdwarf-2 sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(4)/' gcc/common.opt sed -i '/flag_debug_types_section/s/Init(1)/Init(0)/' gcc/common.opt sed -i '/dwarf_record_gcc_switches/s/Init(0)/Init(1)/' gcc/common.opt sed -i 's/\(may be either 2, 3 or 4; the default version is \)2\./\14./' gcc/doc/invoke.texi %else # Default to -gdwarf-3 rather than -gdwarf-2 sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt sed -i 's/\(may be either 2, 3 or 4; the default version is \)2\./\13./' gcc/doc/invoke.texi sed -i 's/#define[[:blank:]]*EMIT_ENTRY_VALUE[[:blank:]].*$/#define EMIT_ENTRY_VALUE 0/' gcc/{var-tracking,dwarf2out}.c sed -i 's/#define[[:blank:]]*EMIT_TYPED_DWARF_STACK[[:blank:]].*$/#define EMIT_TYPED_DWARF_STACK 0/' gcc/dwarf2out.c sed -i 's/#define[[:blank:]]*EMIT_DEBUG_MACRO[[:blank:]].*$/#define EMIT_DEBUG_MACRO 0/' gcc/dwarf2out.c %endif cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h %build # build mcode on x86 %ifarch %{ix86} x86_64 %if %{with mcode} pushd ghdl-mcode ./configure --prefix=/usr make popd %endif %endif %if %{with llvm} pushd ghdl-llvm ./configure --prefix=/usr --with-llvm=/usr # FIXME: disable library debug info for now because it doesn't work with LLVM 3.6 make LIB_CFLAGS= popd %endif # Undo the broken autoconf change in recent Fedora versions export CONFIG_SITE=NONE %{__rm} -fr obj-%{gcc_target_platform} %{__mkdir} obj-%{gcc_target_platform} pushd obj-%{gcc_target_platform} %if %{build_cloog} mkdir isl-build isl-install %ifarch s390 s390x ISL_FLAG_PIC=-fPIC %else ISL_FLAG_PIC=-fpic %endif cd isl-build ../../isl-%{isl_version}/configure --disable-shared \ CC=/usr/bin/gcc CXX=/usr/bin/g++ \ CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install make %{?_smp_mflags} make install cd .. mkdir cloog-build cloog-install cd cloog-build cat >> ../../cloog-%{cloog_version}/source/isl/constraints.c << \EOF #include static void __attribute__((used)) *s1 = (void *) isl_union_map_compute_flow; static void __attribute__((used)) *s2 = (void *) isl_map_dump; EOF sed -i 's|libcloog|libgcc49privatecloog|g' \ ../../cloog-%{cloog_version}/{,test/}Makefile.{am,in} isl_prefix=`cd ../isl-install; pwd` \ ../../cloog-%{cloog_version}/configure --with-isl=system \ --with-isl-prefix=`cd ../isl-install; pwd` \ CC=/usr/bin/gcc CXX=/usr/bin/g++ \ CFLAGS="${CFLAGS:-%optflags}" CXXFLAGS="${CXXFLAGS:-%optflags}" \ --prefix=`cd ..; pwd`/cloog-install sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool make %{?_smp_mflags} make %{?_smp_mflags} install cd ../cloog-install/lib rm libgcc49privatecloog-isl.so{,.4} mv libgcc49privatecloog-isl.so.4.0.0 libcloog-isl.so.4 ln -sf libcloog-isl.so.4 libcloog-isl.so ln -sf libcloog-isl.so.4 libcloog.so cd ../.. %endif CC=gcc OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'` OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'` # for now OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -Werror=format-security / /g'` %ifarch sparc OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'` %endif %ifarch %{ix86} OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'` %endif %ifarch sparc64 cat > gcc64 <<"EOF" #!/bin/sh exec /usr/bin/gcc -m64 "$@" EOF chmod +x gcc64 CC=`pwd`/gcc64 %endif %ifarch ppc64 if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then cat > gcc64 <<"EOF" #!/bin/sh exec /usr/bin/gcc -m64 "$@" EOF chmod +x gcc64 CC=`pwd`/gcc64 fi %endif OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'` case "$OPT_FLAGS" in *-fasynchronous-unwind-tables*) sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/' \ ../gcc/Makefile.in ;; esac CC="$CC" CFLAGS="$OPT_FLAGS" \ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g'`" \ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" GCJFLAGS="$OPT_FLAGS" \ ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap=no \ --enable-shared --enable-threads=posix --enable-checking=release \ %ifarch ppc64le --disable-multilib \ %else --enable-multilib \ %endif --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu \ --enable-languages=vhdl \ --enable-plugin --enable-initfini-array \ --disable-libgcj \ %if %{build_cloog} --with-isl=`pwd`/isl-install --with-cloog=`pwd`/cloog-install \ %else --without-isl --without-cloog \ %endif %if 0%{?fedora} >= 21 || 0%{?rhel} >= 7 %if %{attr_ifunc} --enable-gnu-indirect-function \ %endif %endif %ifarch %{arm} --disable-sjlj-exceptions \ %endif %ifarch ppc ppc64 ppc64le ppc64p7 --enable-secureplt \ %endif %ifarch sparc sparcv9 sparc64 ppc ppc64 ppc64le ppc64p7 s390 s390x alpha --with-long-double-128 \ %endif %ifarch sparc --disable-linux-futex \ %endif %ifarch sparc64 --with-cpu=ultrasparc \ %endif %ifarch sparc sparcv9 --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7 %endif %ifarch ppc ppc64 ppc64le ppc64p7 %if 0%{?rhel} >= 7 --with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \ %endif %if 0%{?rhel} == 6 --with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \ %endif %endif %ifarch ppc --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 %endif %ifarch %{ix86} x86_64 --with-tune=generic \ %endif %if 0%{?rhel} >= 7 %ifarch %{ix86} --with-arch=x86-64 \ %endif %ifarch x86_64 --with-arch_32=x86-64 \ %endif %else %ifarch %{ix86} --with-arch=i686 \ %endif %ifarch x86_64 --with-arch_32=i686 \ %endif %endif %ifarch s390 s390x %if 0%{?rhel} >= 7 --with-arch=z196 --with-tune=zEC12 --enable-decimal-float \ %else --with-arch=z9-109 --with-tune=z10 --enable-decimal-float \ %endif %endif %ifarch armv7hl --with-cpu=cortex-a8 --with-tune=cortex-a8 --with-arch=armv7-a \ --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux \ %endif %ifnarch sparc sparcv9 ppc --build=%{gcc_target_platform} %endif #%ifarch %{arm} sparc sparcv9 sparc64 #GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap #%else #GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap #%endif #%{__make} %{?_smp_mflags} %{__make} %if %{build_cloog} cp -a cloog-install/lib/libcloog-isl.so.4 gcc/ %endif popd %install %{__rm} -rf %{buildroot} # install mcode on x86 %ifarch %{ix86} x86_64 %if %{with mcode} pushd ghdl-mcode make DESTDIR=%{buildroot} install mv %{buildroot}/%{_bindir}/ghdl %{buildroot}/%{_bindir}/ghdl-mcode popd %endif %endif # install llvm %if %{with llvm} pushd ghdl-llvm make DESTDIR=%{buildroot} install mv %{buildroot}/%{_bindir}/ghdl %{buildroot}/%{_bindir}/ghdl-llvm popd %endif # install gcc %{__make} -C obj-%{gcc_target_platform} DESTDIR=%{buildroot} install PBINDIR=`pwd`/obj-%{gcc_target_platform}/gcc/ PNATIVE=%{buildroot}/%{_prefix}/lib/ghdl/ P32=%{buildroot}/%{_prefix}/lib/ghdl/32/ pushd ghdl %ifarch x86_64 make bindir=${PBINDIR} ANALYZE_OPTS="--GHDL1=${PBINDIR}/ghdl1 -m32" STD_GHDL_FLAGS="--GHDL1=${PBINDIR}/ghdl1 -m32" OPT_FLAGS="-g -m32" ghdllib make DESTDIR=%{buildroot} install %{__install} -d ${P32} %{__mv} ${PNATIVE}/grt.* ${PNATIVE}/lib* ${PNATIVE}/src ${PNATIVE}/v08 ${PNATIVE}/v87 ${PNATIVE}/v93 ${PNATIVE}/vendors ${P32} make clean %endif make bindir=${PBINDIR} ANALYZE_OPTS="--GHDL1=${PBINDIR}/ghdl1" STD_GHDL_FLAGS="--GHDL1=${PBINDIR}/ghdl1" ghdllib make DESTDIR=%{buildroot} install popd %{__mv} %{buildroot}%{_prefix}/lib/libghdlvpi.so %{buildroot}%{_libdir}/ghdlvpi.so # Add additional libraries to link ( echo "-lgnat-6" #%ifarch x86_64 #echo "-ldl" #%endif ) >> %{buildroot}%{_prefix}/lib/ghdl/grt.lst # Remove files not to be packaged pushd %{buildroot} %{__rm} -f \ .%{_bindir}/{cpp,gcc,gccbug,gcov} \ .%{_bindir}/%{gcc_target_platform}-gcc{,-%{gcc_version}} \ .%{_bindir}/{,%{gcc_target_platform}-}gcc-{ar,nm,ranlib} \ .%{_includedir}/mf-runtime.h \ .%{_libdir}/lib* \ .%{_infodir}/dir \ .%{_infodir}/{cpp,cppinternals,gcc,gccinstall,gccint}.info* \ .%{_infodir}/{libgomp,libquadmath}.info* \ .%{_datadir}/locale/*/LC_MESSAGES/{gcc,cpplib}.mo \ .%{_mandir}/man1/{cpp,gcc,gcov}.1* \ .%{_mandir}/man7/{fsf-funding,gfdl,gpl}.7* \ .%{_prefix}/lib/libgcc_s.* \ .%{_prefix}/lib/libmudflap.* \ .%{_prefix}/lib/libmudflapth.* \ .%{_prefix}/lib/{libatomic,libgomp,libquadmath,libssp}* \ .%{_libdir}/32/libiberty.a # Remove crt/libgcc, as ghdl invokes the native gcc to perform the linking %{__rm} -f \ .%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt* \ .%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgc* \ .%{_libexecdir}/gcc/%{gcc_target_platform}/%{gcc_version}/{cc1,collect2} # Remove directory hierarchies not to be packaged %{__rm} -rf \ .%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/{include,include-fixed,plugin,install-tools} \ .%{_libexecdir}/gcc/%{gcc_target_platform}/%{gcc_version}/install-tools popd %{__mv} %{buildroot}%{_libdir}/ghdlvpi.so %{buildroot}%{_libdir}/libghdlvpi.so %clean %{__rm} -rf %{buildroot} %post [ -f %{_infodir}/ghdl.info.gz ] && \ /sbin/install-info %{_infodir}/ghdl.info.gz %{_infodir}/dir || : %preun [ -f %{_infodir}/ghdl.info.gz ] && [ $1 = 0 ] && \ /sbin/install-info --delete %{_infodir}/ghdl.info.gz %{_infodir}/dir || : %files %defattr(-,root,root,-) %{_bindir}/ghdl %{_infodir}/ghdl.info.gz # Need to own directory %{_libexecdir}/gcc even though we only want the # %{gcc_target_platform}/%{gcc_version} subdirectory %{_libexecdir}/gcc/ %{_mandir}/man1/* %{_includedir}/vpi_user.h %{_libdir}/libghdlvpi.so %files grt %defattr(-,root,root,-) %doc ghdl/COPYING # Need to own directory %{_libdir}/gcc even though we only want the # %{gcc_target_platform}/%{gcc_version} subdirectory %{_prefix}/lib/gcc/ %{_prefix}/lib/ghdl/ %ifarch %{ix86} x86_64 %if %{with mcode} %files mcode %{_bindir}/ghdl-mcode %files mcode-grt %doc ghdl/COPYING %dir %{_libdir}/ghdl %{_libdir}/ghdl/mcode %endif %endif %if %{with llvm} %files llvm %{_bindir}/ghdl-llvm %{_bindir}/ghdl1-llvm %files llvm-grt %doc ghdl/COPYING %dir %{_libdir}/ghdl %{_libdir}/ghdl/llvm %endif %changelog * Fri Jul 1 2016 Thomas Sailer - 0.34dev-0.20160702git50d0507.0 - update to 0.34dev (git50d0507) * Thu May 26 2016 Thomas Sailer - 0.34dev-0.20160503git6ccb80e.0 - update to 0.34dev (git6ccb80e) * Sat Mar 19 2016 Thomas Sailer - 0.34dev-0.20160318git8e97758.0 - update to 0.34dev (git8e97758) * Thu Mar 17 2016 Thomas Sailer - 0.34dev-0.20160317gitf1ddf16.0 - update to 0.34dev (gitf1ddf16) * Wed Feb 24 2016 Thomas Sailer - 0.34dev-0.20160224gitf818155.0 - update to 0.34dev (gitf818155) * Tue Feb 16 2016 Thomas Sailer - 0.34dev-0.20160214gite7adf19.0 - update to 0.34dev (gite7adf19) * Fri Feb 12 2016 Thomas Sailer - 0.33dev-1.20151120gitff4bc5f.1 - build fix * Fri Nov 20 2015 Thomas Sailer - 0.33dev-1.20151120gitff4bc5f.0 - update to 0.33dev (gitff4bc5f) * Mon Nov 9 2015 Thomas Sailer - 0.33dev-0.hg914.0 - update to 0.33dev (hg914) * Fri Oct 30 2015 Thomas Sailer - 0.33dev-0.hg903.0 - update to 0.33dev (hg903) * Mon Oct 19 2015 Thomas Sailer - 0.33dev-0.hg899.0 - update to 0.33dev (hg899) * Wed Jun 17 2015 Fedora Release Engineering - 0.33dev-1.hg813.0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu Jun 04 2015 Thomas Sailer - 0.33dev-0.hg813.0 - update to 0.33dev (hg813) * Sat Mar 14 2015 Thomas Sailer - 0.33dev-0.hg700.0 - update to 0.33dev (hg700) * Thu Mar 12 2015 Thomas Sailer - 0.33dev-0.hg692.0 - update to 0.33dev (hg692) * Wed Mar 11 2015 Thomas Sailer - 0.33dev-0.hg688.0 - update to 0.33dev (hg688) - build mcode backend on x86(-32) - build LLVM backend * Wed Nov 19 2014 Thomas Sailer - 0.32rc1-0.hg484.0 - update to 0.32rc1 (hg484) * Sat Aug 16 2014 Fedora Release Engineering - 0.31-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.31-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue May 13 2014 Peter Robinson 0.31-4 - Use GNAT_arches rather than an explicit list * Wed Apr 30 2014 Thomas Sailer - 0.31-3 - rebuild for gnat 4.9 * Sat Feb 1 2014 Thomas Sailer - 0.31-2 - update to release 0.31 * Wed Dec 18 2013 Thomas Sailer - 0.31-1 - change to sourceforge repository * Tue Dec 3 2013 Thomas Sailer - 0.29-4.150svn.3 - prevent format-security warning * Mon Aug 5 2013 Thomas Sailer - 0.29-4.150svn.2 - fix FTBFS * Sat Aug 03 2013 Fedora Release Engineering - 0.29-4.150svn.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 2 2013 Ville Skyttä - 0.29-3.150svn.2 - Compress gcc tarball with xz. * Wed May 1 2013 Thomas Sailer - 0.29-3.150svn.1 - update for gnat 4.8 - texinfo build fix * Fri Feb 1 2013 Thomas Sailer - 0.29-3.150svn.0 - update to svn150 (based on gcc 4.7.2) * Fri Jan 25 2013 Thomas Sailer - 0.29-3.143svn.8 - rebuild for gnat 4.8 * Mon Oct 15 2012 Jon Ciesls - 0.29-3.143svn.7 - Provides: bundled(libiberty) * Wed Jul 25 2012 Thomas Sailer - 0.29-2.143svn.7 - fix siginfo build failure * Thu Jul 19 2012 Fedora Release Engineering - 0.29-2.143svn.7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jun 11 2012 Thomas Sailer - 0.29-2.143svn.6 - rebuild for grt file times * Thu Jan 5 2012 Thomas Sailer - 0.29-2.143svn.5 - rebuild for gnat 4.7 * Fri Oct 21 2011 Marcela Mašláňová - 0.29-2.143svn.4.2 - rebuild with new gmp without compat lib * Tue Oct 11 2011 Peter Schiffer - 0.29-2.143svn.4.1 - rebuild with new gmp * Tue Feb 22 2011 Thomas Sailer - 0.29-2.143svn.4 - rebuild for gnat 4.6 * Tue Feb 08 2011 Fedora Release Engineering - 0.29-2.143svn.3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Tue Feb 1 2011 Dan Horák - 0.29-1.143svn.3 - updated the supported arch list - remove the offending space in BR: glibc * Sun Jan 23 2011 Thomas Sailer - 0.29-1.143svn.2 - rebuild * Fri Jul 9 2010 Thomas Sailer - 0.29-1.143svn.1 - update to gnat 4.5 * Thu Jul 8 2010 Thomas Sailer - 0.29-1.143svn.0 - update to svn143 - move license text to grt subpackage * Fri Jan 29 2010 Thomas Sailer - 0.29-1.138svn.0 - update to svn138 * Fri Jan 15 2010 Thomas Sailer - 0.29-1 - update to 0.29 * Wed Dec 30 2009 Thomas Sailer - 0.28-0.135svn.0 - update to svn135 * Wed Dec 30 2009 Thomas Sailer - 0.28-0.133svn.2 - fix the Process Timeout Chain bugfix * Wed Dec 30 2009 Thomas Sailer - 0.28-0.133svn.1 - fix crash when running ./tb --stats * Wed Dec 16 2009 Thomas Sailer - 0.28-0.133svn.0 - update to svn133, drop upstreamed patches * Mon Dec 14 2009 Thomas Sailer - 0.28-0.131svn.2 - Process Timeout Chain bugfix - --trace-signals memory leak fix * Wed Dec 2 2009 Thomas Sailer - 0.28-0.131svn.1 - copy v08 libraries instead of symlink * Wed Dec 2 2009 Thomas Sailer - 0.28-0.131svn.0 - update to 0.28/svn131 - symlink v08 libraries to v93 for now * Wed Sep 23 2009 Thomas Sailer - 0.28-0.130svn.0 - update to 0.28/svn130 * Sun Sep 20 2009 Thomas Sailer - 0.27-0.126svn.0 - update to svn126 * Sun Jul 26 2009 Thomas Sailer - 0.27-0.110svn.8 - this gcc does not understand -mtune=atom * Fri Jul 24 2009 Fedora Release Engineering - 0.27-0.110svn.7.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue May 26 2009 Thomas Sailer - 0.27-0.110svn.7 - fix bug in std.textio.read (string) * Thu Apr 2 2009 Thomas Sailer - 0.27-0.110svn.6 - actually add the patch * Wed Apr 1 2009 Thomas Sailer - 0.27-0.110svn.5 - make ieee.math_real more standards compliant * Sun Mar 15 2009 Thomas Sailer - 0.27-0.110svn.4 - gnat version is now 4.4 * Tue Feb 24 2009 Fedora Release Engineering - 0.27-0.110svn.3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Feb 13 2009 Thomas Sailer - 0.27-0.110svn.3 - prevent ppc64 abort due to unknown language type * Fri Feb 13 2009 Thomas Sailer - 0.27-0.110svn.2 - rebuild with ppc64 * Thu Oct 9 2008 Thomas Sailer - 0.27-0.110svn.1 - rebuild * Tue Oct 7 2008 Thomas Sailer - 0.27-0.110svn.0 - update to svn110 * Tue Oct 7 2008 Thomas Sailer - 0.27-0.105svn.0 - update to svn105 * Mon Jun 2 2008 Thomas Sailer - 0.26-0.98svn.0 - update to svn98 * Fri May 16 2008 Thomas Sailer - 0.26-0.94svn.7 - update to svn94 * Sun Jan 6 2008 Thomas Sailer - 0.25-0.89svn.7 - disable Pragma No_Run_Time; it does not seem to make much sense and causes problems with gcc-4.3 * Mon Oct 8 2007 Thomas Sailer - 0.25-0.89svn.6 - ghdl-grt requires zlib-devel (rhbz 316311) - make it build with makeinfo >= 4.10 * Fri Aug 24 2007 Thomas Sailer - 0.25-0.89svn.5 - excludearch ppc64 * Fri Aug 24 2007 Thomas Sailer - 0.25-0.89svn.4 - fix BR * Fri Aug 24 2007 Thomas Sailer - 0.25-0.89svn.3 - fix license tag * Fri Jan 5 2007 Thomas Sailer - 0.25-0.89svn.2 - do not try to set user/group during install * Fri Jan 5 2007 Thomas Sailer - 0.25-0.89svn.1 - back out hunks that cause build failures - un-exclude ppc * Mon Nov 20 2006 Thomas Sailer - 0.25-0.89svn.0 - update to svn89 * Fri Oct 6 2006 Thomas Sailer - 0.25-0.73svn.0 - update to svn73 * Thu Oct 5 2006 Thomas Sailer - 0.25-0.71svn.1 - bump release * Thu Oct 5 2006 Thomas Sailer - 0.25-0.71svn.0 - update to svn71 * Sun Aug 27 2006 Thomas Sailer - 0.25-0.61svn.0 - update to svn61 * Sun Aug 6 2006 Thomas Sailer - 0.24-0.60svn.0 - update to svn60 * Tue Jul 11 2006 Thomas Sailer - 0.24-0.59svn.2 - rebuild * Mon Jul 10 2006 Thomas Sailer - 0.24-0.59svn.1 - add missing manpage * Mon Jul 10 2006 Thomas Sailer - 0.24-0.59svn.0 - update to svn59 * Sun Jun 25 2006 Thomas Sailer - 0.23-0.58svn.0 - update to svn58 * Tue Jun 20 2006 Thomas Sailer - 0.23-0.57svn.0 - update to svn57 * Fri Mar 24 2006 Thomas Sailer - 0.22-0.50svn.1 - do not require /lib/libc.so.* on x86_64, this does not work under mock * Wed Mar 22 2006 Thomas Sailer - 0.22-0.50svn.0 - update to svn50, to fix x86_64 breakage - move grt (ghdl runtime library) into separate package, to allow parallel install of i386 and x86_64 grt on x86_64 machines, thus making -m32 work - back to using FSF gcc as base compiler sources, using core gcc sources causes segfaults during library compile on x86_64 * Sun Mar 19 2006 Thomas Sailer - 0.22-0.49svn.1 - use core gcc as base compiler sources * Thu Mar 16 2006 Thomas Sailer - 0.22-0.49svn.0 - update to svn49, using gcc 4.1.0 * Mon Mar 6 2006 Thomas Sailer - 0.22-0.40svn.0 - update to svn40, to fix an array bounds checking bug apparently introduced in svn39 * Thu Feb 16 2006 Thomas Sailer - 0.22-0.39svn.0 - update to svn39, to fix some constant bugs * Tue Feb 14 2006 Thomas Sailer - 0.22-0.38svn.1 - rebuild with new compiler for FC5 * Wed Dec 21 2005 Thomas Sailer - 0.22-0.38svn.0 - update to svn38, to fix a ghw output bug * Sun Dec 18 2005 Thomas Sailer - 0.21-1 - update to 0.21 * Thu Dec 15 2005 Thomas Sailer - 0.21-0.35svn.1 - update to svn35 for more x86_64 "Ada cannot portably call C vararg functions" fixes - first stab at -m32 library building * Sat Dec 10 2005 Thomas Sailer - 0.21-0.33svn.1 - update to svn33, to fix x86_64 issues (real'image, -m32) - rpmbuild option --without mock enables multilib builds * Mon Dec 5 2005 Thomas Sailer - 0.21-0.24svn.3 - disable multilib and remove exclude of x86_64 * Thu Dec 1 2005 Thomas Sailer - 0.21-0.24svn.2 - Exclude ppc because gcc-gnat is missing - Exclude x86_64 because of mock build issues * Fri Nov 25 2005 Thomas Sailer - 0.21-0.24svn.1 - update to SVN rev 24 - remove additional files to fix x86_64 build * Tue Nov 22 2005 Thomas Sailer - 0.21-0.23svn.1 - update to SVN rev 23 * Mon Nov 14 2005 Paul Howarth - 0.21-0.21.1 - spec file cosmetic cleanups - incorporate some architecture tweaks from gcc package - remove files we don't want packaged so that we can turn the unpackaged file check back on - use fedora_ghdl as the machine vendor name to avoid namespace clashes with other packages - own {%%{_libdir},%%{_libexecdir}}/gcc directories since this package does not depend on gcc - add buildreq texinfo, needed to make info file - don't include README, which is aimed at building ghdl rather than using it - remove install-tools and munged header files, not needed for ghdl - only run install-info if the info file is installed - patch ghdl.texi to include info dir entry * Fri Nov 11 2005 Thomas Sailer - 0.21-0.21 - update to 0.21pre, svn rev 21 - incorporate changes from Paul Howarth * Sat Mar 12 2005 Thomas Sailer - 0.18-1 - update to 0.18 * Sat Feb 26 2005 Thomas Sailer - 0.17-1 - update to 0.17 * Tue Feb 8 2005 Thomas Sailer - 0.16-1 - Initial build.