]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
libsframe: testsuite: Fix testsuite build on Solaris [PR33168]
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 12 Sep 2025 07:50:34 +0000 (09:50 +0200)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Fri, 12 Sep 2025 07:50:34 +0000 (09:50 +0200)
As reported in PR libsframe/33168, the libsframe tests don't build on
Solaris.  The failure is

In file included from libsframe/testsuite/libsframe.decode/be-flipping.c:28:
/usr/include/dejagnu.h:48:1: error: conflicting types for ‘wait’; have ‘void(void)’
   48 | wait (void)
      | ^~~~
In file included from /usr/include/stdlib.h:16,
                 from libsframe/testsuite/libsframe.decode/be-flipping.c:21:
/usr/include/sys/wait.h:85:14: note: previous declaration of ‘wait’ with type ‘pid_t(int *)’ {aka ‘long int(int *)’}
   85 | extern pid_t wait(int *);
      |              ^~~~

We have a combination of two factors here:

* Solaris <stdlib.h> has

  and configure.ac predefines __EXTENSIONS__ due to the use of
  AC_USE_SYSTEM_EXTENSIONS.

* This conflicts with <dejagnu.h>'s definition

void
wait (void)
{
...
}

While this version of wait was removed in upstream DejaGnu, the removal
only happened after the latest release, 1.6.3.

To avoid this, I've moved all testsuite includes into a new
sframe-test.h, adding a workaround for the wait conflict.

-Wall and -I$(srcdir) have been removed from AM_CPPFLAGS since they
don't seem to be needed.  To fix the Makefile fragment duplication, the
local.mk files now use $(testsuite_LDADD) and $(testsuite_CPPFLAGS)
throughout.

Tested on {i386,amd64}-pc-solaris2.11, {sparc,sparcv9}-sun-solaris2.11,
{x86_64,i686}-pc-linux-gnu, and amd64-pc-freebsd14.0.

Coauthored-By: Alan Modra <amodra@gmail.com>
2025-08-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    Alan Modra  <amodra@gmail.com>

libsframe:
PR libsframe/33168
* testsuite/sframe-test.h: New file.
* testsuite/libsframe.decode/be-flipping.c: Replace includes by
sframe-test.h.
* testsuite/libsframe.decode/frecnt-1.c: Likewise.
* testsuite/libsframe.decode/frecnt-2.c: Likewise.
* testsuite/libsframe.encode/encode-1.c: Likewise.
* testsuite/libsframe.find/findfre-1.c: Likewise.
* testsuite/libsframe.find/findfunc-1.c: Likewise.
* testsuite/libsframe.find/plt-findfre-1.c: Likewise.
* testsuite/libsframe.find/plt-findfre-2.c: Likewise.

* Makefile.am (AM_CPPFLAGS): Remove -I$(srcdir).
* Makefile.in: Regenerate.
* testsuite/local.mk (testsuite_LDADD): New variable.
(testsuite_CPPFLAGS): Likewise.
* testsuite/libsframe.decode/local.mk: Use $(testsuite_LDADD),
$(testsuite_CPPFLAGS).
* testsuite/libsframe.encode/local.mk: Likewise.
* testsuite/libsframe.find/local.mk: Likewise.

15 files changed:
libsframe/Makefile.am
libsframe/Makefile.in
libsframe/testsuite/libsframe.decode/be-flipping.c
libsframe/testsuite/libsframe.decode/frecnt-1.c
libsframe/testsuite/libsframe.decode/frecnt-2.c
libsframe/testsuite/libsframe.decode/local.mk
libsframe/testsuite/libsframe.encode/encode-1.c
libsframe/testsuite/libsframe.encode/local.mk
libsframe/testsuite/libsframe.find/findfre-1.c
libsframe/testsuite/libsframe.find/findfunc-1.c
libsframe/testsuite/libsframe.find/local.mk
libsframe/testsuite/libsframe.find/plt-findfre-1.c
libsframe/testsuite/libsframe.find/plt-findfre-2.c
libsframe/testsuite/local.mk
libsframe/testsuite/sframe-test.h [new file with mode: 0644]

index 89e471fd3d5ca3532e8e9505660aa056aea6a113..864e4975e8cc7017ac7ad31fce1328435ccd37c6 100644 (file)
@@ -27,7 +27,7 @@ MAINTAINERCLEANFILES =
 
 INCDIR = $(srcdir)/../include
 # include libctf for swap.h
-AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf
+AM_CPPFLAGS = -I$(srcdir)/../include -I$(srcdir)/../libctf
 AM_CFLAGS = @ac_libsframe_warn_cflags@
 libsframe_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
 # libsframe does not restrict the set of exported symbols.  So, if linker does
index fa705dd9f13ee7fd61175d37514da9ad64bb54eb..e0f09acedc1034b2bdaa52e488343a20c3b42851 100644 (file)
@@ -201,42 +201,37 @@ am_testsuite_libsframe_decode_be_flipping_OBJECTS = testsuite/libsframe.decode/t
 testsuite_libsframe_decode_be_flipping_OBJECTS =  \
        $(am_testsuite_libsframe_decode_be_flipping_OBJECTS)
 testsuite_libsframe_decode_be_flipping_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+       $(testsuite_LDADD)
 am_testsuite_libsframe_decode_frecnt_1_OBJECTS = testsuite/libsframe.decode/testsuite_libsframe_decode_frecnt_1-frecnt-1.$(OBJEXT)
 testsuite_libsframe_decode_frecnt_1_OBJECTS =  \
        $(am_testsuite_libsframe_decode_frecnt_1_OBJECTS)
-testsuite_libsframe_decode_frecnt_1_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+testsuite_libsframe_decode_frecnt_1_DEPENDENCIES = $(testsuite_LDADD)
 am_testsuite_libsframe_decode_frecnt_2_OBJECTS = testsuite/libsframe.decode/testsuite_libsframe_decode_frecnt_2-frecnt-2.$(OBJEXT)
 testsuite_libsframe_decode_frecnt_2_OBJECTS =  \
        $(am_testsuite_libsframe_decode_frecnt_2_OBJECTS)
-testsuite_libsframe_decode_frecnt_2_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+testsuite_libsframe_decode_frecnt_2_DEPENDENCIES = $(testsuite_LDADD)
 am_testsuite_libsframe_encode_encode_1_OBJECTS = testsuite/libsframe.encode/testsuite_libsframe_encode_encode_1-encode-1.$(OBJEXT)
 testsuite_libsframe_encode_encode_1_OBJECTS =  \
        $(am_testsuite_libsframe_encode_encode_1_OBJECTS)
-testsuite_libsframe_encode_encode_1_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+testsuite_libsframe_encode_encode_1_DEPENDENCIES = $(testsuite_LDADD)
 am_testsuite_libsframe_find_findfre_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_findfre_1-findfre-1.$(OBJEXT)
 testsuite_libsframe_find_findfre_1_OBJECTS =  \
        $(am_testsuite_libsframe_find_findfre_1_OBJECTS)
-testsuite_libsframe_find_findfre_1_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+testsuite_libsframe_find_findfre_1_DEPENDENCIES = $(testsuite_LDADD)
 am_testsuite_libsframe_find_findfunc_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_findfunc_1-findfunc-1.$(OBJEXT)
 testsuite_libsframe_find_findfunc_1_OBJECTS =  \
        $(am_testsuite_libsframe_find_findfunc_1_OBJECTS)
-testsuite_libsframe_find_findfunc_1_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+testsuite_libsframe_find_findfunc_1_DEPENDENCIES = $(testsuite_LDADD)
 am_testsuite_libsframe_find_plt_findfre_1_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.$(OBJEXT)
 testsuite_libsframe_find_plt_findfre_1_OBJECTS =  \
        $(am_testsuite_libsframe_find_plt_findfre_1_OBJECTS)
 testsuite_libsframe_find_plt_findfre_1_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+       $(testsuite_LDADD)
 am_testsuite_libsframe_find_plt_findfre_2_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.$(OBJEXT)
 testsuite_libsframe_find_plt_findfre_2_OBJECTS =  \
        $(am_testsuite_libsframe_find_plt_findfre_2_OBJECTS)
 testsuite_libsframe_find_plt_findfre_2_DEPENDENCIES =  \
-       ${top_builddir}/libsframe.la
+       $(testsuite_LDADD)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -535,7 +530,7 @@ DISTCLEANFILES = $(am__append_2)
 MAINTAINERCLEANFILES = $(am__append_3)
 INCDIR = $(srcdir)/../include
 # include libctf for swap.h
-AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf
+AM_CPPFLAGS = -I$(srcdir)/../include -I$(srcdir)/../libctf
 AM_CFLAGS = @ac_libsframe_warn_cflags@
 libsframe_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
 @HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_FALSE@libsframe_version_script = -Wl,--version-script=$(srcdir)/libsframe.ver
@@ -557,30 +552,32 @@ EXTRA_DIST = libtool-version libsframe.ver
 EXPECT = expect
 RUNTEST = runtest
 RUNTESTFLAGS = 
+testsuite_LDADD = $(top_builddir)/libsframe.la
+testsuite_CPPFLAGS = -I$(srcdir)/testsuite -I$(srcdir)/../include
 testsuite_libsframe_decode_be_flipping_SOURCES = testsuite/libsframe.decode/be-flipping.c
-testsuite_libsframe_decode_be_flipping_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_decode_be_flipping_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_decode_be_flipping_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_decode_be_flipping_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_decode_frecnt_1_SOURCES = testsuite/libsframe.decode/frecnt-1.c
-testsuite_libsframe_decode_frecnt_1_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_decode_frecnt_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_decode_frecnt_1_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_decode_frecnt_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_decode_frecnt_2_SOURCES = testsuite/libsframe.decode/frecnt-2.c
-testsuite_libsframe_decode_frecnt_2_LDADD = ${top_builddir}/libsframe.la 
-testsuite_libsframe_decode_frecnt_2_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_decode_frecnt_2_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_decode_frecnt_2_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_encode_encode_1_SOURCES = testsuite/libsframe.encode/encode-1.c
-testsuite_libsframe_encode_encode_1_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_encode_encode_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_encode_encode_1_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_encode_encode_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_find_findfre_1_SOURCES = testsuite/libsframe.find/findfre-1.c
-testsuite_libsframe_find_findfre_1_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_find_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_find_findfre_1_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_find_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_find_findfunc_1_SOURCES = testsuite/libsframe.find/findfunc-1.c
-testsuite_libsframe_find_findfunc_1_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_find_findfunc_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_find_findfunc_1_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_find_findfunc_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_find_plt_findfre_1_SOURCES = testsuite/libsframe.find/plt-findfre-1.c
-testsuite_libsframe_find_plt_findfre_1_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_find_plt_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_find_plt_findfre_1_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_find_plt_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 testsuite_libsframe_find_plt_findfre_2_SOURCES = testsuite/libsframe.find/plt-findfre-2.c
-testsuite_libsframe_find_plt_findfre_2_LDADD = ${top_builddir}/libsframe.la
-testsuite_libsframe_find_plt_findfre_2_CPPFLAGS = -I${top_srcdir}/../include -Wall
+testsuite_libsframe_find_plt_findfre_2_LDADD = $(testsuite_LDADD)
+testsuite_libsframe_find_plt_findfre_2_CPPFLAGS = $(testsuite_CPPFLAGS)
 all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
index 41fa486b62c2f7453ca6ffea550e66923ec1ed56..c8b627b2067006af91032f74f5f7f5a7f6eda7fa 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 /* SFrame info from the following source (1 fde 5 fres):
    static int cnt;
index 8d6c27eebcbe7a5304e62b02288ced725eb916c6..9cf55ef0868f3fc85fe2afc9665a96101eb7176f 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 /*
  * SFrame info from the following source (1 fde 4 fres):
index 74e48bf44e027e33b9d82ac704b4ff677fb80032..9136e9a9e95ff463abbca345d6f9607a2732b9a6 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 /*
  * SFrame info from the following source (2 fde 8 fres):
index 0e4279b8c8e7f98d4977e2b8850208972f034a3b..de34bbcfab8b6d70a91a8abd428f38326b955e50 100644 (file)
@@ -4,13 +4,13 @@ if HAVE_COMPAT_DEJAGNU
 endif
 
 %C%_be_flipping_SOURCES = %D%/be-flipping.c
-%C%_be_flipping_LDADD = ${top_builddir}/libsframe.la
-%C%_be_flipping_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_be_flipping_LDADD = $(testsuite_LDADD)
+%C%_be_flipping_CPPFLAGS = $(testsuite_CPPFLAGS)
 
 %C%_frecnt_1_SOURCES = %D%/frecnt-1.c
-%C%_frecnt_1_LDADD = ${top_builddir}/libsframe.la
-%C%_frecnt_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_frecnt_1_LDADD = $(testsuite_LDADD)
+%C%_frecnt_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 
 %C%_frecnt_2_SOURCES = %D%/frecnt-2.c
-%C%_frecnt_2_LDADD = ${top_builddir}/libsframe.la 
-%C%_frecnt_2_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_frecnt_2_LDADD = $(testsuite_LDADD)
+%C%_frecnt_2_CPPFLAGS = $(testsuite_CPPFLAGS)
index 62640c3b70f7c5faf4fbde3bb9dc355f4c272921..da477e5fb2e8995d09b2c9c913c3e3fe12ced5e8 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 static int
 add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
index 477d4b649298e9d5dfb63ca030454d06306b28a1..6b09651dc7b72a3745ccc9fa3f781678b6bb8ee8 100644 (file)
@@ -3,5 +3,5 @@ if HAVE_COMPAT_DEJAGNU
 endif
 
 %C%_encode_1_SOURCES = %D%/encode-1.c
-%C%_encode_1_LDADD = ${top_builddir}/libsframe.la
-%C%_encode_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_encode_1_LDADD = $(testsuite_LDADD)
+%C%_encode_1_CPPFLAGS = $(testsuite_CPPFLAGS)
index 384ad4847a3f5e84b5ce3d7ae76397318ba47916..cbd7ab30a98703d09373352c942d4c285c04f679 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 static int
 add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
index 5c4d86710eecbaf1f290e8a02150ffce7df5157f..1dcd870b0e5cc4a82e79913b8dfbf36927094436 100644 (file)
    The tests in here stress the sframe_get_funcdesc_with_addr API via calls to
    the sframe_find_fre ().  */
 
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 static int
 add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
index 52741e8063d768a3427c0c667119444bb1e99116..05c7a10a8db045c362bc30eb47502c1084222951 100644 (file)
@@ -4,17 +4,17 @@ if HAVE_COMPAT_DEJAGNU
 endif
 
 %C%_findfre_1_SOURCES = %D%/findfre-1.c
-%C%_findfre_1_LDADD = ${top_builddir}/libsframe.la
-%C%_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_findfre_1_LDADD = $(testsuite_LDADD)
+%C%_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 
 %C%_findfunc_1_SOURCES = %D%/findfunc-1.c
-%C%_findfunc_1_LDADD = ${top_builddir}/libsframe.la
-%C%_findfunc_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_findfunc_1_LDADD = $(testsuite_LDADD)
+%C%_findfunc_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 
 %C%_plt_findfre_1_SOURCES = %D%/plt-findfre-1.c
-%C%_plt_findfre_1_LDADD = ${top_builddir}/libsframe.la
-%C%_plt_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_plt_findfre_1_LDADD = $(testsuite_LDADD)
+%C%_plt_findfre_1_CPPFLAGS = $(testsuite_CPPFLAGS)
 
 %C%_plt_findfre_2_SOURCES = %D%/plt-findfre-2.c
-%C%_plt_findfre_2_LDADD = ${top_builddir}/libsframe.la
-%C%_plt_findfre_2_CPPFLAGS = -I${top_srcdir}/../include -Wall
+%C%_plt_findfre_2_LDADD = $(testsuite_LDADD)
+%C%_plt_findfre_2_CPPFLAGS = $(testsuite_CPPFLAGS)
index 91da4bc1c2e6ba0a56addff1193a7a1e5fddb7d0..b41588a41394aeb4c7d51ff14430930f07293b22 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 static int
 add_plt_fde1 (sframe_encoder_ctx *ectx, uint32_t plt_vaddr,
index 00a5b2ab07652a57f2696de18cecea9cb36bd23d..61f04f00c2d102efa25c65ab80382e09a323d017 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-
-#include "sframe-api.h"
-
-/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
-#undef vsnprintf
-#include <dejagnu.h>
+#include "sframe-test.h"
 
 /* s390x-specific size in bytes of plt0 and pltN.  */
 #define PLT_SIZE 32
index 5e5ba927f75677a0b9666197e10e642869a547b1..4f2ea9b871043d0fc18208d470bb87ebc5f431a7 100644 (file)
@@ -19,6 +19,9 @@ check-DEJAGNU: site.exp
        else echo "WARNING: could not find \`runtest'" 1>&2; :;\
        fi
 
+testsuite_LDADD = $(top_builddir)/libsframe.la
+testsuite_CPPFLAGS = -I$(srcdir)/testsuite -I$(srcdir)/../include
+
 # libsframe encoder/decoder/find testsuite
 include %D%/libsframe.decode/local.mk
 include %D%/libsframe.encode/local.mk
diff --git a/libsframe/testsuite/sframe-test.h b/libsframe/testsuite/sframe-test.h
new file mode 100644 (file)
index 0000000..d5db96b
--- /dev/null
@@ -0,0 +1,43 @@
+/* sframe-test.h -- Common libsframe testsuite header.
+
+   Copyright (C) 2022-2025 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SFRAME_TEST_H
+#define _SFRAME_TEST_H
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include "sframe-api.h"
+
+/* DejaGnu should not use gnulib's vsnprintf replacement here.  */
+#undef vsnprintf
+
+/* PR 33168: Solaris <sys/wait.h> with __EXTENSIONS__ defined gets a
+   declaration of wait().  This conflicts with <dejagnu.h>'s wait
+   definition that is only removed after DejaGnu 1.6.3.  */
+
+#define wait dg_wait
+/* Add prototype to avoid warning.  */
+void wait (void);
+#include <dejagnu.h>
+#undef wait
+
+#endif /* _SFRAME_TEST_H */