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,