Source: afterstep
Version: 2.2.12-12
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap

Thank you for applying my earlier patch #899200 and for running
autoreconf. That moved us forward quite a bit. It still fails cross
building, because it uses AC_TRY_RUN. In all cases, running the
executables is not necessary, because the relevant property can be
determined by compile-only checks. The attached patch implements that
and makes configuration succeed. It still fails building manual pages
with an Exec format error. If the manual pages were moved to
afterstep-data, one could maybe skip the manual page generation step.
Can you still apply the attached patch and close this bug when doing so?

Helmut
--- afterstep-2.2.12.orig/libAfterBase/configure.in
+++ afterstep-2.2.12/libAfterBase/configure.in
@@ -230,10 +230,10 @@
 
 dnl# Check for safe min/max - there still are some retarded compilers out there :
 AC_MSG_CHECKING(if we can use sign safe min/max macros)
-AC_TRY_RUN([#define MIN(x,y) \
+AC_TRY_COMPILE([#define MIN(x,y) \
   		({ const typeof(x) _x = (x); const typeof(y) _y = (y);  (void) (&_x == &_y); \
-     		 _x < _y ? _x : _y; })
-                 int main(){return MIN(0,1);}],
+     		 _x < _y ? _x : _y; })],
+               [char array[MIN(0, 1) == 0 ? 1 : -1];],
 	   [AC_DEFINE(USE_SAFE_MINMAX,1,will use type-safe min/max macros) AC_MSG_RESULT(yes)],AC_MSG_RESULT(no))
 
 dnl# Translate enable_* from "yes/no" to "1/0" (for configure.h)
--- afterstep-2.2.12.orig/libAfterImage/configure.in
+++ afterstep-2.2.12/libAfterImage/configure.in
@@ -580,23 +580,23 @@
 					  )
 	  if test "x$have_ft2build" = "xno" ; then
     	  	if test "x$have_freetype_freetype" = "xyes" ; then
-			AC_TRY_RUN([#include <freetype/freetype.h>
-                            	int main(){FT_Face f; return 0;}],
+			AC_TRY_COMPILE([#include <freetype/freetype.h>],
+                            	[FT_Face f;],
 	                   	[have_ttf=yes],AC_MSG_RESULT(no))
 	  	elif test "x$have_freetype" = "xyes" ; then
-			AC_TRY_RUN([#include <freetype.h>
-                            	int main(){FT_Face f; return 0;}],
+			AC_TRY_COMPILE([#include <freetype.h>],
+                            	[FT_Face f;],
 	                   	[have_ttf=yes],AC_MSG_RESULT(no))
 	  	fi;
 	  elif test "x$have_freetype_freetype" = "xyes" ; then
-		AC_TRY_RUN([#include <ft2build.h> 
-			    #include <freetype/freetype.h>
-                            int main(){FT_Face f; return 0;}],
+		AC_TRY_COMPILE([#include <ft2build.h> 
+			    #include <freetype/freetype.h>],
+                            [FT_Face f;],
 	                [have_ttf=yes],AC_MSG_RESULT(no))
 	  elif test "x$have_freetype" = "xyes" ; then
-		AC_TRY_RUN([#include <ft2build.h>
-			#include <freetype.h>
-                        int main(){FT_Face f; return 0;}],
+		AC_TRY_COMPILE([#include <ft2build.h>
+			#include <freetype.h>],
+                        [FT_Face f;],
 	                [have_ttf=yes],AC_MSG_RESULT(no))
 	  fi;		       
     	  if test "x$have_ttf" = "xyes" ; then

Reply via email to