games/zoom: Fix build for -current.

Signed-off-by: B. Watson <yalhcru@gmail.com>
This commit is contained in:
B. Watson 2017-06-21 03:31:44 -04:00 committed by Willy Sudiarto Raharjo
parent 7f4a537a30
commit ece77e77f3
3 changed files with 219 additions and 0 deletions

120
games/zoom/no_inline.diff Normal file
View File

@ -0,0 +1,120 @@
diff -Naur zoom-1.1.5/src/interp.c zoom-1.1.5.patched/src/interp.c
--- zoom-1.1.5/src/interp.c 2011-11-05 07:40:53.000000000 -0400
+++ zoom-1.1.5.patched/src/interp.c 2017-06-21 03:26:42.543594700 -0400
@@ -101,7 +101,7 @@
} \
}
-static inline void push(ZStack* stack, const ZWord word)
+static void push(ZStack* stack, const ZWord word)
{
*(stack->stack_top++) = word;
stack->stack_size--;
@@ -131,7 +131,7 @@
#endif
}
-inline ZWord pop(ZStack* stack)
+ZWord pop(ZStack* stack)
{
stack->stack_size++;
@@ -159,7 +159,7 @@
return *(--stack->stack_top);
}
-inline ZWord top(ZStack* stack)
+ZWord top(ZStack* stack)
{
if (stack->current_frame)
{
@@ -232,7 +232,7 @@
return newframe;
}
-inline void store(ZStack* stack, int var, ZWord value)
+void store(ZStack* stack, int var, ZWord value)
{
#ifdef DEBUG
printf_debug("Storing %i in Variable #%x\n", value, var);
@@ -253,7 +253,7 @@
}
}
-inline void store_nopush(ZStack* stack, int var, ZWord value)
+void store_nopush(ZStack* stack, int var, ZWord value)
{
#ifdef DEBUG
printf_debug("Storing %i in Variable #%x\n", value, var);
@@ -313,7 +313,7 @@
int isdefault;
};
-static inline struct prop* get_object_prop_3(ZUWord object, ZWord property)
+static struct prop* get_object_prop_3(ZUWord object, ZWord property)
{
ZByte* obj;
ZByte* prop;
@@ -364,7 +364,7 @@
int header;
};
-static inline struct propinfo* get_object_propinfo_4(ZByte* prop)
+static struct propinfo* get_object_propinfo_4(ZByte* prop)
{
static struct propinfo pinfo;
@@ -387,7 +387,7 @@
return &pinfo;
}
-static inline struct prop* get_object_prop_4(ZUWord object, ZWord property)
+static struct prop* get_object_prop_4(ZUWord object, ZWord property)
{
ZByte* obj;
ZByte* prop;
@@ -539,7 +539,7 @@
}
#endif
-inline static int true_colour(int col)
+static int true_colour(int col)
{
switch (col)
{
@@ -575,7 +575,7 @@
}
}
-inline static int convert_colour(int col)
+static int convert_colour(int col)
{
switch (col)
{
@@ -1473,7 +1473,7 @@
return -1;
}
-static inline void zcode_setup_window(int window)
+static void zcode_setup_window(int window)
{
v6_set_window(window);
v6_define_window(window,
@@ -1497,7 +1497,7 @@
#endif
}
-static inline int zcode_v6_push_stack(ZStack* stack,
+static int zcode_v6_push_stack(ZStack* stack,
ZUWord stk,
ZUWord value)
{
@@ -1528,7 +1528,7 @@
return 1;
}
-static inline int v6_window(int win)
+static int v6_window(int win)
{
if (win > 7)
zmachine_fatal("No such window: %i", win);

View File

@ -0,0 +1,91 @@
diff -Naur zoom-1.1.5/configure zoom-1.1.5.patched/configure
--- zoom-1.1.5/configure 2011-11-05 10:29:03.000000000 -0400
+++ zoom-1.1.5.patched/configure 2017-06-21 03:19:11.223593935 -0400
@@ -4630,87 +4630,6 @@
conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler ($CC) supports -finline-functions" >&5
-$as_echo_n "checking if the C compiler ($CC) supports -finline-functions... " >&6; }
- ac_OLD_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -finline-functions"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
- { int x; x = 1; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- CFLAGS="$ac_OLD_CFLAGS"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler ($CC) supports -funroll-loops" >&5
-$as_echo_n "checking if the C compiler ($CC) supports -funroll-loops... " >&6; }
- ac_OLD_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -funroll-loops"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
- { int x; x = 1; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- CFLAGS="$ac_OLD_CFLAGS"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the C compiler ($CC) supports -fomit-frame-pointer" >&5
-$as_echo_n "checking if the C compiler ($CC) supports -fomit-frame-pointer... " >&6; }
- ac_OLD_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fomit-frame-pointer"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
- { int x; x = 1; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- CFLAGS="$ac_OLD_CFLAGS"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-
# Check whether --enable-new-terp was given.
if test "${enable_new_terp+set}" = set; then :
enableval=$enable_new_terp;

View File

@ -6,6 +6,8 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20170621 bkw: fix build for -current
PRGNAM=zoom
VERSION=${VERSION:-1.1.5}
BUILD=${BUILD:-1}
@ -49,6 +51,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# gcc7 hates all the inline functions in interp.c.
patch -p1 < $CWD/no_inline.diff
# We don't need -funroll-loops and friends. They break the build on -current.
patch -p1 < $CWD/remove_rice.diff
# Modern Xft doesn't ship a xft-config script, hack the configure script
# to use pkg-config.
patch -p1 < $CWD/config_xft.diff