# Tests by default. No tests: rpm -ba --define 'dotests 0' m4*.spec %{!?dotests: %define dotests 1} Summary: The GNU macro processor. Name: m4 Version: 1.4.18 Release: 1 License: GPLv3+ Group: Applications/Text Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2 Source1: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2.sig URL: http://www.gnu.org/software/m4 %description A GNU implementation of the traditional UNIX macro processor. M4 is useful for writing text files which can be logically parsed, and is used by many programs as part of their build process. M4 has built-in functions for including files, running shell commands, doing arithmetic, etc. The autoconf program needs m4 for generating configure scripts, but not for running configure scripts. Install m4 if you need a macro processor. %prep export PATH=/opt/freeware/bin:$PATH %setup -q #Duplicate source for 32 & 64 bits rm -rf /tmp/%{name}-%{version}-32bit mkdir /tmp/%{name}-%{version}-32bit mv * /tmp/%{name}-%{version}-32bit mkdir 32bit mv /tmp/%{name}-%{version}-32bit/* 32bit rm -rf /tmp/%{name}-%{version}-32bit mkdir 64bit cp -rp 32bit/* 64bit/ %build export AR="/usr/bin/ar -X32_64" export NM="/usr/bin/ar -X32_64" export CFLAGS="-Wno-error" #First build 64bit version cd 64bit export CC="/opt/freeware/bin/gcc -maix64 -O2" export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib" ./configure --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --enable-largefile gmake %{?_smp_mflags} if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi #Now build 32bit version cd ../32bit export CC="/opt/freeware/bin/gcc -maix32 -O2 -D_LARGE_FILES" export OBJECT_MODE=32 export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --enable-largefile gmake %{?_smp_mflags} if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} # setup environment for 32-bit and 64-bit builds export RM="/usr/bin/rm -f" export AR="/usr/bin/ar -X32_64" #install the 64bit version cd 64bit export OBJECT_MODE=64 gmake DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in * do mv ${f} ${f}_64 done ) #install the 32bit version cd ../32bit export OBJECT_MODE=32 gmake DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in m4 do mv ${f} ${f}_32 done ) # Make 64bit executable as default ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in m4 do ln -sf ${f}_64 ${f} done ) gzip -9fn $RPM_BUILD_ROOT%{_infodir}/%{name}* rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir [[ ! -d $RPM_BUILD_ROOT/usr/linux/bin ]] && mkdir -p $RPM_BUILD_ROOT/usr/linux/bin cd ${RPM_BUILD_ROOT}/usr/linux/bin ln -sf ../../..%{_bindir}/* . %post if [ -s /etc/info-dir ] && [ ! -L /opt/freeware/info/dir ]; then ln -sf /etc/info-dir /opt/freeware/info/dir fi /sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir %preun if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %doc 32bit/AUTHORS 32bit/NEWS 32bit/README 32bit/COPYING 32bit/THANKS 32bit/INSTALL 32bit/TODO %{_bindir}/* %{_infodir}/* %{_mandir}/man1/* %changelog * Mon Feb 08 2021 Rishita Saha 1.4.18-1 - Update to version 1.4.18 - No longer shipping files in /usr * Tue Jan 31 2017 M Sushma Bhat 1.4.17-1 - Update to version 1.4.17.Built both 32bit and 64bit version.64bit binary made default executable. * Tue Oct 22 2013 Gerard Visiedo 1.4.17-1 - Update to version 1.4.17 * Fri Jul 26 2013 Gerard Visiedo 1.4.16-2 - Fix conflit %{_infodir}/dir with package "info" * Thu Jan 26 2012 Patricia Cugny 1.4.16-1 - Update to version 1.4.16 * Mon Feb 28 2011 Patricia Cugny 1.4.15-1 - Update to version 1.4.15 * Fri Apr 23 2010 Jean noel Cordenner 1.4.14-1 - Update to version 1.4.14 * Mon Jun 22 2009 Jean noel Cordenner 1.4.13-1 - Update to version 1.4.13 * Wed Mar 26 2003 David Clissold - Rebuild using IBM VAC compiler. * Fri Oct 27 2000 pkgmgr - Modify for AIX Freeware distribution * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 12) * Thu Dec 17 1998 Cristian Gafton - build against glibc 2.1 * Fri Apr 24 1998 Prospector System - translations modified for de, fr, tr * Fri Apr 10 1998 Cristian Gafton - Manhattan build * Wed Oct 21 1997 Cristian Gafton - added info file handling and BuildRoot * Mon Jun 02 1997 Erik Troan - built against glibc