ports/multimedia/smpeg/files/patch-configure
Dimitry Andric 967c8049e1 multimedia/smpeg: fix build with clang 16
Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because multimedia/smpeg's configure scripts and Makefiles do not
explicitly set the C++ standard, this leads to several errors:

  In file included from MPEGaudio.cpp:24:
  ../MPEGaudio.h:129:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
        register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
        ^~~~~~~~~
  ../MPEGaudio.h:135:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
        register unsigned short a;
        ^~~~~~~~~
  MPEGaudio.cpp:317:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register int r=(_buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
    ^~~~~~~~~
  MPEGaudio.cpp:326:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register unsigned short a;
    ^~~~~~~~~
  MPEGaudio.cpp:339:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
    register unsigned short a;
    ^~~~~~~~~

Because smpeg uses a rather strange configure script, it does not
process CXXFLAGS correctly, so set CXX to include -std=gnu++98.

Also remove the REAL_CC patch which is no longer necessary.

PR:		271353
Approved by:	portmgr (build fix blanket)
MFH:		2023Q2
2023-05-18 13:34:31 +02:00

11 lines
349 B
Text

--- configure.orig 2001-04-24 19:25:46 UTC
+++ configure
@@ -1055,7 +1054,7 @@ cat > conftest.$ac_ext << EOF
#line 1056 "configure"
#include "confdefs.h"
-main(){return(0);}
+int main(){return(0);}
EOF
if { (eval echo configure:1061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes