File xview-build32bit.patch of Package xview-64bit

a hack to enable building 32-bit libs on 64-bit system
run something like:
  EXTRA_CCFLAGS=-m32 linux32 rpmbuild -bb --target=i586 SPECS/xview.spec
  mkbaselibs -c SOURCES/baselibs.conf RPMS/i586/xview-*.rpm

--- xview-3.2p1.4/Build-LinuxXView.bash.amd64	2018-11-30 19:12:59.764820244 +0100
+++ xview-3.2p1.4/Build-LinuxXView.bash.amd64	2018-11-30 19:14:36.078109066 +0100
@@ -53,6 +53,7 @@
   LOCAL_LDFLAGS := -L`pwd`/lib/libolgx -L`pwd`/lib/libxview $IMAKE_EXTRA_LOCAL_LDFLAGS -L$OWDEST/lib \$(LOCAL_LDFLAGS)
   MAKEOVERRIDES  =
   CFLAGS        += -g \$(EXTRA_CFLAGS)
+  CC            += \$(EXTRA_CCFLAGS)
 # End of variable-definitions appended by imake-wrapper
 
 EOF
@@ -90,7 +91,7 @@
         imake -DUseInstalled $IMAKEINCLUDE
       ) || exit $?
       imake -DUseInstalled $IMAKEINCLUDE
-      make World
+      make World EXTRA_CCFLAGS="${EXTRA_CCFLAGS}"
       ;;
     instlibs)
       install -d $OWDEST $X11DEST
@@ -98,17 +99,17 @@
       make SUBDIRS=doc install
       ;;
     clients)
-      make Clients
+      make Clients EXTRA_CCFLAGS="${EXTRA_CCFLAGS}"
       ;;
     contrib)
-      make Contrib
+      make Contrib EXTRA_CCFLAGS="${EXTRA_CCFLAGS}"
       ;;
     olvwm)
       (
         cd clients/olvwm-4.1
         imake -DUseInstalled $IMAKEINCLUDE
         make depend
-        make
+        make EXTRA_CCFLAGS="${EXTRA_CCFLAGS}"
       ) || exit $?
       ;;
     instclients)
--- a/config/host.def  2021-07-16 19:10:25.000000000 +0200
+++ b/config/host.def  2022-12-18 11:33:14.776411839 +0100
@@ -1,4 +1,4 @@
-#undef i386Architecture
-#define AMD64Architecture
+#define i386Architecture
+#undef AMD64Architecture
 #define DefaultCDebugFlags -O2
 
--- a/lib/libxview/screen/scrn_lyout_.h	2021-07-16 19:10:25.000000000 +0200
+++ b/lib/libxview/screen/scrn_lyout_.h	2022-12-17 17:58:18.532666477 +0100
@@ -4,7 +4,11 @@
 #include <xview/pkg.h>
 #include <xview_private/scrn_impl.h>
 
+#if defined(__alpha) || defined(__x86_64__) || defined(_XV_API_BROKEN_64BIT) || defined(__amd64__)
 Pkg_private int screen_layout(register Xv_Window root, register Xv_Window child, Window_layout_op op, unsigned long *d1, unsigned long *d2, unsigned long *d3, unsigned long *d4, unsigned long *d5);
+#else
+Pkg_private int screen_layout(register Xv_Window root, register Xv_Window child, Window_layout_op op, int *d1, int *d2, int *d3, int *d4, int *d5);
+#endif
 
 #endif
 
--- a/lib/libxview/screen/scrn_lyout.c	2021-07-16 19:10:25.000000000 +0200
+++ b/lib/libxview/screen/scrn_lyout.c	2022-12-17 18:09:22.460345688 +0100
@@ -30,6 +30,8 @@
 /* Alpha compatibility, mbuck@debian.org */
 #if defined(__alpha) || defined(__x86_64__) || defined(_XV_API_BROKEN_64BIT) || defined(__amd64__)
     unsigned long *d1, *d2, *d3, *d4, *d5;
+#else
+    int *d1, *d2, *d3, *d4, *d5;
 #endif
 {
     int             top_level = (int) xv_get(child,

openSUSE Build Service is sponsored by