![]() ![]() | ![]() |
Patches pour réussir à compiler avec gcc14.
1: srcdir=@srcdir@ 2: top_builddir=@abs_top_builddir@ 3: CFLAGS=@CFLAGS@ 4: CXXFLAGS=@CXXFLAGS@ 5: LDFLAGS=@LDFLAGS@ 6: OBJEXT=@OBJEXT@ 7: 8: .PHONY: configure clean distclean 9: 10: all: lib/librplcas.a 11: 12: lib/@LIB_PREFIX@gmp.a: 13: if [ ! -d @GMP@ ]; then \ 14: mkdir @GMP@; \ 15: fi 16: if [ ! -f @GMP@/config.log ]; then \ 17: (cd @GMP@ && \ 18: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 19: ../$(srcdir)/@GMP@/configure --with-readline=no \ 20: --host=@HOST@ --enable-cxx \ 21: --disable-shared --enable-static \ 22: --prefix=$(top_builddir)/rplcas); \ 23: fi 24: $(MAKE) -C @GMP@ $(AM_MAKEFLAGS) all && \ 25: $(MAKE) -C $(AM_MAKEFLAGS) @GMP@ install 26: 27: lib/@LIB_PREFIX@mpfr.a: lib/@LIB_PREFIX@gmp.a 28: if [ ! -d @MPFR@ ]; then \ 29: mkdir @MPFR@ ; \ 30: fi 31: if [ ! -f @MPFR@/config.log ]; then \ 32: if [ @BUILD@ = @HOST@ ]; then \ 33: (cd @MPFR@ && \ 34: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 35: ../$(srcdir)/@MPFR@/configure \ 36: --with-gmp=$(top_builddir)/rplcas \ 37: --disable-shared --enable-static \ 38: --prefix=$(top_builddir)/rplcas); \ 39: else \ 40: (cd @MPFR@ && \ 41: CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 42: ../$(srcdir)/@MPFR@/configure \ 43: --host=@HOST@ \ 44: --with-gmp=$(top_builddir)/rplcas \ 45: --disable-shared --enable-static \ 46: --prefix=$(top_builddir)/rplcas); \ 47: fi; \ 48: fi 49: $(MAKE) -C @MPFR@ $(AM_MAKEFLAGS) all && \ 50: $(MAKE) -C @MPFR@ $(AM_MAKEFLAGS) install 51: 52: lib/@LIB_PREFIX@mpfi.a: lib/@LIB_PREFIX@gmp.a lib/@LIB_PREFIX@mpfr.a 53: if [ ! -d @MPFI@ ]; then \ 54: mkdir @MPFI@ ; \ 55: fi 56: if [ ! -f @MPFI@/config.log ]; then \ 57: if [ @BUILD@ = @HOST@ ]; then \ 58: (cd @MPFI@ && \ 59: CC=gcc-13 CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 60: ../$(srcdir)/@MPFI@/configure \ 61: --with-gmp=$(top_builddir)/rplcas \ 62: --with-mpfr=$(top_builddir)/rplcas \ 63: --disable-shared --enable-static \ 64: --prefix=$(top_builddir)/rplcas); \ 65: else \ 66: (cd @MPFI@ && \ 67: CC=gcc-13 CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 68: ../$(srcdir)/@MPFI@/configure \ 69: --host=@HOST@ \ 70: --with-gmp=$(top_builddir)/rplcas \ 71: --with-mpfr=$(top_builddir)/rplcas \ 72: --disable-shared --enable-static \ 73: --prefix=$(top_builddir)/rplcas); \ 74: fi; \ 75: fi 76: $(MAKE) -C @MPFI@ $(AM_MAKEFLAGS) all && \ 77: $(MAKE) -C @MPFI@ $(AM_MAKEFLAGS) install 78: 79: lib/ntl.a: 80: if [ @BUILD@ = @HOST@ ]; then \ 81: (cd @NTL@/src && ./configure GMP_PREFIX=$(top_builddir)/rplcas \ 82: SHARED=off CXXFLAGS="$(CXXFLAGS)"); \ 83: else \ 84: (cd @NTL@/src && ./configure GMP_PREFIX=$(top_builddir)/rplcas \ 85: SHARED=off CC=@HOST@-gcc CXX=@HOST@-g++ \ 86: CXXFLAGS="@SYSROOT@ $(CXXFLAGS)" \ 87: LDFLAGS="-L@SYSROOT2@/usr/lib"); \ 88: fi 89: (cd @NTL@/src && \ 90: if [ -z '$(make -v | grep "^GNU Make")' -a $(shell uname) != Linux ]; \ 91: then \ 92: sed 's/make /gmake /g' makefile > makefile2 && \ 93: \mv -f makefile2 makefile && \ 94: sed 's/make /gmake /g' WizardAux > WizardAux2 && \ 95: \mv -f WizardAux2 WizardAux; \ 96: fi && \ 97: $(MAKE) $(AM_MAKEFLAGS) -f makefile) 98: if [ ! -d lib ]; then \ 99: mkdir lib; \ 100: fi; \ 101: if [ ! -d include ]; then \ 102: mkdir include; \ 103: fi; \ 104: cp @NTL@/src/ntl.a lib/ntl.a 105: cp -R @NTL@/include/NTL include 106: 107: lib/libpari.a: lib/@LIB_PREFIX@gmp.a 108: if [ ! -f @PARI@/configured ]; then \ 109: if [ @BUILD@ = @HOST@ ]; then \ 110: (cd @PARI@ && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ 111: LDFLAGS="$(LDFLAGS)" \ 112: ./Configure --prefix=$(top_builddir)/rplcas \ 113: --with-gmp=../lib/libgmp.a \ 114: --without-readline --graphic=none -s); \ 115: else \ 116: (cd @PARI@ && CC=@HOST@-gcc LD=@HOST@-ld \ 117: CFLAGS="@SYSROOT@ $(CFLAGS)" \ 118: CXXFLAGS="$(CXXFLAGS)" \ 119: LDFLAGS="-L@SYSROOT2@/usr/lib $(LDFLAGS)" \ 120: ./Configure --prefix=$(top_builddir)/rplcas \ 121: --with-gmp=../lib/libgmp.a \ 122: --without-readline --graphic=none -s); \ 123: fi; \ 124: (cd @PARI@ && \ 125: sed -i -e 's/perl/perl -I./g' \ 126: $$(find . -maxdepth 1 -name "O*")/Makefile); \ 127: touch @PARI@/configured; \ 128: fi 129: $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) gp && \ 130: $(MAKE) -C @PARI@ $(AM_MAKEFLAGS) install 131: 132: lib/@LIB_PREFIX@giac.a: lib/@LIB_PREFIX@gmp.a lib/@LIB_PREFIX@mpfr.a lib/ntl.a \ 133: lib/libpari.a lib/@LIB_PREFIX@mpfi.a 134: if [ ! -d @GIAC@ ]; then \ 135: mkdir @GIAC@ ; \ 136: fi 137: if [ @BUILD@ = @HOST@ ]; then \ 138: (cd @GIAC@ && \ 139: CXX=@CXX@ \ 140: CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ $(CPPFLAGS)" \ 141: CXXFLAGS="$(CXXFLAGS) -fpermissive" \ 142: LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/ntl.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfi.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfr.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmp.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmpxx.a" \ 143: ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \ 144: --enable-pari \ 145: --enable-ntl \ 146: --enable-gsl \ 147: --disable-samplerate \ 148: --disable-shared --enable-static \ 149: --disable-micropy --disable-quickjs \ 150: --disable-gui --without-x); \ 151: else \ 152: (cd @GIAC@ && \ 153: CPPFLAGS="-I$(top_builddir)/rplcas/include -I$(top_builddir)/tools/@GSL@ @SYSROOT@ $(CPPFLAGS)" \ 154: CXXFLAGS="$(CXXFLAGS) -fpermissive" \ 155: LDFLAGS="$(top_builddir)/rplcas/lib/libpari.a $(top_builddir)/rplcas/lib/ntl.a $(top_builddir)/tools/@GSL@/.libs/libgsl.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfi.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@mpfr.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmp.a $(top_builddir)/rplcas/lib/@LIB_PREFIX@gmpxx.a $(LDFLAGS) $(LIBGIAC)" \ 156: ../$(srcdir)/@GIAC@/configure --prefix=$(top_builddir)/rplcas \ 157: --host=@HOST@ \ 158: --enable-pari \ 159: --enable-ntl \ 160: --enable-gsl \ 161: --disable-samplerate \ 162: --disable-shared --enable-static \ 163: --disable-micropy --disable-quickjs \ 164: --disable-gui --without-x); \ 165: fi; \ 166: (cd @GIAC@/src && \ 167: mv -f config.h config.h.orig && \ 168: sed -e 's/#define HAVE_LIBPNG 1//' config.h.orig | \ 169: sed -e 's/\/\* #undef HAVE_LIBGMP \*\//#define HAVE_LIBGMP/' | \ 170: sed -e 's/\/\* #undef HAVE_LIBGMPXX \*\//#define HAVE_LIBGMPXX/' | \ 171: sed -e 's/\/\* #undef HAVE_LIBMPFR \*\//#define HAVE_LIBPFR/' | \ 172: sed -e 's/\/\* #undef HAVE_LIBMPFI \*\//#define HAVE_LIBPFI/' | \ 173: sed -e 's/\/\* #undef HAVE_LIBNTL \*\//#define HAVE_LIBNTL/' | \ 174: sed -e 's/\/\* #undef HAVE_LIBPARI \*\//#define HAVE_LIBPARI/' | \ 175: sed -e 's/\/\* #undef HAVE_LIBGSL \*\//#define HAVE_LIBGSL/' | \ 176: sed -e 's/#define HAVE_LIBSAMPLERATE 1//' | \ 177: sed -e 's/#define HAVE_PNG_H 1//' > config.h && \ 178: rm -f config.h.orig); \ 179: (cd @GIAC@/src && \ 180: mv -f Makefile Makefile.orig && \ 181: sed -e 's/-lntl//' Makefile.orig | \ 182: sed -e 's/-lgmp//' | \ 183: sed -e 's/-lmpfr//' > Makefile && \ 184: rm -f Makefile.orig); \ 185: $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS) 186: if [ x$(srcdir) != x. ]; then \ 187: for i in mkinstalldirs xcas.xpm xcas.desktop xcas.applications; \ 188: do cp $(srcdir)/@GIAC@/$$i @GIAC@/$$i; done; \ 189: cp -R $(srcdir)/@GIAC@/icons @GIAC@; \ 190: fi 191: $(MAKE) -C @GIAC@ $(AM_MAKEFLAGS) install 192: 193: lib/librplcas.a: lib/@LIB_PREFIX@giac.a lib/@LIB_PREFIX@gmp.a \ 194: lib/@LIB_PREFIX@mpfr.a lib/ntl.a lib/libpari.a \ 195: lib/@LIB_PREFIX@mpfi.a 196: if [ ! -d tmp ]; then mkdir tmp; fi 197: for i in `ar t lib/@LIB_PREFIX@giac.a | grep a$$`; \ 198: do ar d lib/@LIB_PREFIX@giac.a $$i; \ 199: done 200: @(cd tmp && n=0 && \ 201: rm -f * && \ 202: echo Building standalone librplcas.a; \ 203: for i in ../lib/@LIB_PREFIX@gmp.a \ 204: ../lib/@LIB_PREFIX@mpfr.a \ 205: ../lib/@LIB_PREFIX@mpfi.a \ 206: ../lib/libpari.a \ 207: ../lib/ntl.a \ 208: ../lib/@LIB_PREFIX@giac.a; \ 209: do echo Extracting $$i; ar x $$i; \ 210: for j in `ar t $$i`; \ 211: do cp -f $$j $$n-$$j; \ 212: rm -f $$j; \ 213: done; \ 214: n=`expr $$n + 1`; \ 215: done; \ 216: L="start"; \ 217: while test -n "$$L"; \ 218: do \ 219: echo -n "Remaining files "; \ 220: find . -name "*.$(OBJEXT)" | wc -l; \ 221: L=""; j=0; \ 222: for i in `find . -name "*.$(OBJEXT)"`; \ 223: do \ 224: k=`echo $$i | wc -c`; \ 225: j=`expr $$j + $$k + 1`; \ 226: if test $$j -le 8000; then \ 227: L="$$L $$i"; \ 228: else \ 229: break; \ 230: fi; \ 231: done; \ 232: if test -n "$$L"; then \ 233: echo -n "Adding files to librplcas.a archive... "; \ 234: ar cr ../lib/librplcas.a $$L; \ 235: rm -f $$L; \ 236: echo "done"; \ 237: fi; \ 238: done; \ 239: echo Archive created; \ 240: ar s ../lib/librplcas.a; \ 241: if [ @OS@ != OS2 -a @OS@ != Darwin ]; then \ 242: echo Stripping librplcas.a && strip -d ../lib/librplcas.a; \ 243: fi;) 244: rmdir tmp 245: 246: install: 247: 248: uninstall: 249: 250: clean: 251: \rm -f $(top_builddir)/rplcas/lib/lib* 252: 253: distdir: