VOGONS


First post, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

Now that opengl and openglnb are the only ouptut= settings that allow full-screen DOSBox to run under OS X 10.7 Lion, I would like to be able to patch my code so that when I build under OS X, opengl is the default instead of surface. I've tried to figure out where I could change that, but I haven't been able to do so.

I know this is a proof of my ignorance, but I'm willing to learn, and will be grateful for any help.

Reply 1 of 46, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Better compile SDL 1.2 development branch and use that. Supposedly there havebeen some OpenGL fixes for OSX in the last week, too.
SDL compiles just like Dosbox (autogen & configure).

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 2 of 46, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

What's the current state of svn/hg of SDL 1.2, anybody following that closely?

sdlmain.cpp

Pstring = sdl_sec->Add_string("output",Property::Changeable::Always,"surface");

Reply 3 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Better compile SDL 1.2 development branch and use that. Supposedly there havebeen some OpenGL fixes for OSX in the last week, too.
SDL compiles just like Dosbox (autogen & configure).

OK - I'll give it a try. Thank you. As you've long since figured out, I'm a complete beginner in these things, and I may end up asking you for help and advice, but I'll try to keep those questions to a minimum.

Reply 4 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
wd wrote:
sdlmain.cpp […]
Show full quote

sdlmain.cpp

Pstring = sdl_sec->Add_string("output",Property::Changeable::Always,"surface");

Thank you!!

Reply 5 of 46, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Just keep asking, I'll try to help and excuse me for being snappish at times, I'll try to behave 😀

For starters, I assume you are building 32bit only because of the speed issues that Dosbox' dynamic core has in 64bit?

So to build SDL for 32bit pass along the same exports as you do for dosbox. then run ./autogen.sh then
./configure --enable-static --enable-joystick --enable-cdrom --disable-video-x11 --enable-video-cocoa --enable-video-opengl --without-x --prefix=pathtomyspecialSDLbuild
(take not of --prefix=pathtomyspecialSDLbuild this is important to not pollute your macports tree, choose a folder for your develeopment branch of SDL)
then
make
make install (this should put everything into --prefix=pathtomyspecialSDLbuild)

When you build Dosbox, add this configure switch to the ones you are already using:
--with-sdl-prefix=pathtomyspecialSDLbuild

This will make Dosbox compile with the SDL you just built.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 7 of 46, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It'd be nice if the fix was transparent so that updating the SDL libs is enough to get the 0.74 release working as-is. Don't know if that's possible though.

Reply 8 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Just keep asking, I'll try to help and excuse me for being snappish at times, I'll try to behave 😀

Your instructions are clear and useful, as always, so it doesn't matter what tone of voice they're in... 😁

Thank you again. I'm going to take this slowly and make sure I've got it right, so I may not be back for a couple of days with a report.

Reply 9 of 46, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

That's ok, I'll be gone for a couple of days myself 😀
If you are building for other arches this might all be a bit more complicated but only slightly

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 10 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

That's ok, I'll be gone for a couple of days myself :)
If you are building for other arches this might all be a bit more complicated but only slightly

Building only for OS X under OS X. I have a separate development setup running with Visual C-etc. under Windows. Someday, I'll figure out how to build once for multiple platforms, but not just yet....

Reply 12 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

with arches I meant that one can build for OS X PPC and Intel 32/64bit

Ah! I didn't understand. I've been building for 32-bit Intel only. If anyone's using my application with a PPC machine, they get stock-0.74 DOSBox only, and no one's complained yet.

Reply 13 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:
So to build SDL for 32bit pass along the same exports as you do for dosbox. then run ./autogen.sh then ./configure --enable-stat […]
Show full quote

So to build SDL for 32bit pass along the same exports as you do for dosbox. then run ./autogen.sh then
./configure --enable-static --enable-joystick --enable-cdrom --disable-video-x11 --enable-video-cocoa --enable-video-opengl --without-x --prefix=pathtomyspecialSDLbuild
(take not of --prefix=pathtomyspecialSDLbuild this is important to not pollute your macports tree, choose a folder for your develeopment branch of SDL)
then
make
make install (this should put everything into --prefix=pathtomyspecialSDLbuild)

When you build Dosbox, add this configure switch to the ones you are already using:
--with-sdl-prefix=pathtomyspecialSDLbuild

This will make Dosbox compile with the SDL you just built.

Well, here's no-progress report. If there's no obvious fix for my mistakes I won't spend any more time on it.

I downloaded SDL 1.2 using the Mercurial command specified here:

http://www.libsdl.org/hg.php

1. I followed your instructions to build SDL, and that seems to have succeeded. I specified as the directory for sdl /Users/edward/Development/SDL-forDB. It seems to have built correctly - at least there are four directories inside that directory, with various files.

2. I've been able to build DOSBox following your instructions, but it crashes when going to full-screen mode.

3. I'm still trying to figure out how to get my standalone version built, by modifying the instructions in my message here (based entirely on Dominus's advice):

SVN on OS X - core=dynamic causes segfault

When I try to change the path to SDL to match the new version, it doesn't build at all.

I'm not going to ask other people to sort this out for me. I'll be patient and wait a while before trying again. Meanwhile, thanks again for all the advice that made it possible for me to create that standalone version.

Reply 15 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Give me all the commands you run when you built dosbox

I use this script. It's based entirely on your instructions (which worked perfectly with standard SDL), except for the new switch on ./configure and the change in the sed commands to the path for SDL (pointing to the special build that you told me how to create):

#!/bin/sh […]
Show full quote

#!/bin/sh

## install Xcode, MacPorts, and the following ports:
# sudo port install libsdl +universal +no_x11
# sudo port install libpng +universal
# sudo port install pkgconfig +universal
## revised for custom SDL

make distclean

export CFLAGS='-I/opt/local/include -O2 -arch i386'
export CXXFLAGS=$CFLAGS
export CPPFLAGS=$CXXFLAGS
export LDFLAGS='-L/opt/local/lib -O2 -arch i386'
export CC='/usr/bin/gcc-4.2 -arch i386'
export CXX='/usr/bin/g++-4.2 -arch i386'
export GCOV='/usr/bin/gcov-4.2 -arch i386'

## try out these AFTER ones above
export CXXFLAGS='-O2 -mdynamic-no-pic -arch i386'
export MACOSX_DEPLOYMENT_TARGET='10.6'
export F90FLAGS='-O2 -m32'
export OBJC='/usr/bin/gcc-4.2 -arch i386'
export FCFLAGS='-O2 -m32'
export INSTALL='/usr/bin/install -c'
export OBJCFLAGS='-O2 -arch i386'
export FFLAGS='-O2 -m32'

export > envars.txt

./autogen.sh

./configure --with-sdl-prefix=/Users/edward/Development/SDL-forDB

make clean

sed -i.old -e "s@-L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa@-L/opt/local/lib /Users/edward/Development/SDL-forDB/lib/libSDLmain.a /Users/edward/Development/SDL-forDB/lib/libSDL.a /opt/local/lib/libpng14.a -Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,IOKit@g" -e "s@-lX11@ @g" -e "s@-lpng@ @g" Makefile

cd src

sed -i.old -e "s@-L/opt/local/lib -lSDLmain -lSDL -Wl,-framework,Cocoa@-L/opt/local/lib /Users/edward/Development/SDL-forDB/lib/libSDLmain.a /Users/edward/Development/SDL-forDB/lib/libSDL.a /opt/local/lib/libpng14.a -Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,IOKit@g" -e "s@-lX11@ @g" -e "s@-lpng@ @g" Makefile

cd ..

make

Probably there's something obviously wrong here that simply isn't obvious to me.

Reply 16 of 46, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Leave out the finetuning via sed, for testing. Make one step after the other 😉 (especially first look at the makefile and how it changed with the new sdl prefix)
Also when you set the environments, don't bother with two steps when you overwrite the environments you set in your first step in the second step.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 17 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Leave out the finetuning via sed, for testing. Make one step after the other ;) (especially first look at the makefile and how it changed with the new sdl prefix)
Also when you set the environments, don't bother with two steps when you overwrite the environments you set in your first step in the second step.

OK, here goes. First, I revised my script to exit after configure (and to eliminate one repetition - did I get that right? It's commented with your name in the script):

#!/bin/sh […]
Show full quote

#!/bin/sh

## install Xcode, MacPorts, and the following ports:
# sudo port install libsdl +universal +no_x11
# sudo port install libpng +universal
# sudo port install pkgconfig +universal
## revised for custom SDL

## full instructions here (not updated for Lion):

## SVN on OS X - core=dynamic causes segfault

make distclean

export CFLAGS='-I/opt/local/include -O2 -arch i386'
## removed per Dominus - export CXXFLAGS=$CFLAGS
export CPPFLAGS=$CXXFLAGS
export LDFLAGS='-L/opt/local/lib -O2 -arch i386'
export CC='/usr/bin/gcc-4.2 -arch i386'
export CXX='/usr/bin/g++-4.2 -arch i386'
export GCOV='/usr/bin/gcov-4.2 -arch i386'

## try out these AFTER ones above
export CXXFLAGS='-O2 -mdynamic-no-pic -arch i386'
export MACOSX_DEPLOYMENT_TARGET='10.6'
export F90FLAGS='-O2 -m32'
export OBJC='/usr/bin/gcc-4.2 -arch i386'
export FCFLAGS='-O2 -m32'
export INSTALL='/usr/bin/install -c'
export OBJCFLAGS='-O2 -arch i386'
export FFLAGS='-O2 -m32'

export > envars.txt

./autogen.sh

./configure --with-sdl-prefix=/Users/edward/Development/SDL-forDB

make

Here is the resulting makefile:

# Makefile.in generated by automake 1.11.1 from Makefile.am. # Makefile. Generated from Makefile.in by configure. […]
Show full quote

# Makefile.in generated by automake 1.11.1 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

# Main Makefile for DOSBox

pkgdatadir = $(datadir)/dosbox
pkgincludedir = $(includedir)/dosbox
pkglibdir = $(libdir)/dosbox
pkglibexecdir = $(libexecdir)/dosbox
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i386-apple-darwin11.0.1
host_triplet = i386-apple-darwin11.0.1
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
THANKS config.guess config.sub depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d "$(distdir)" \
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr "$(distdir)"; }; }
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run aclocal-1.11
ALSA_CFLAGS =
ALSA_LIBS =
AMTAR = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run tar
AUTOCONF = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run autoconf
AUTOHEADER = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run autoheader
AUTOMAKE = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run automake-1.11
AWK = awk
CC = /usr/bin/gcc-4.2 -arch i386
CCDEPMODE = depmode=gcc3
CFLAGS = -I/opt/local/include -O2 -arch i386
CPP = /usr/bin/gcc-4.2 -arch i386 -E
CPPFLAGS = -I/Users/edward/Development/SDL-forDB/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE
CXX = /usr/bin/g++-4.2 -arch i386
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -O2 -mdynamic-no-pic -arch i386
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C = \c
ECHO_N =
ECHO_T =
EGREP = /usr/bin/grep -E
EXEEXT =
GREP = /usr/bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS = -L/opt/local/lib -O2 -arch i386
LIBOBJS =
LIBS = -L/Users/edward/Development/SDL-forDB/lib -lSDLmain -lSDL -Wl,-framework,Cocoa -lpng -lz -lX11 -framework OpenGL -framework CoreMIDI -framework AudioUnit -framework AudioToolbox
LTLIBOBJS =
MAKEINFO = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/missing --run makeinfo
MKDIR_P = ./install-sh -c -d
OBJEXT = o
PACKAGE = dosbox
PACKAGE_BUGREPORT =
PACKAGE_NAME = dosbox
PACKAGE_STRING = dosbox SVN
PACKAGE_TARNAME = dosbox
PACKAGE_URL =
PACKAGE_VERSION = SVN
PATH_SEPARATOR = :
RANLIB = ranlib
SDL_CFLAGS = -I/Users/edward/Development/SDL-forDB/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE
SDL_CONFIG = /Users/edward/Development/SDL-forDB/bin/sdl-config
SDL_LIBS = -L/Users/edward/Development/SDL-forDB/lib -lSDLmain -lSDL -Wl,-framework,Cocoa
SET_MAKE =
SHELL = /bin/sh
STRIP =
VERSION = SVN
WINDRES = :
abs_builddir = /Users/edward/Development/dosbox-svn-NewEM
abs_srcdir = /Users/edward/Development/dosbox-svn-NewEM
abs_top_builddir = /Users/edward/Development/dosbox-svn-NewEM
abs_top_srcdir = /Users/edward/Development/dosbox-svn-NewEM
ac_ct_CC = /usr/bin/gcc-4.2 -arch i386
ac_ct_CXX =
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i386-apple-darwin11.0.1
build_alias =
build_cpu = i386
build_os = darwin11.0.1
build_vendor = apple
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i386-apple-darwin11.0.1
host_alias =
host_cpu = i386
host_os = darwin11.0.1
host_vendor = apple
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /Users/edward/Development/dosbox-svn-NewEM/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(top_builddir)/./install-sh -c -d
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix =
top_builddir = .
top_srcdir = .
EXTRA_DIST = autogen.sh
SUBDIRS = src include docs visualc_net
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive

.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck

$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):

config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi

stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@

distclean-hdr:
-rm -f config.h stamp-h1

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"

$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS

TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique

GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)

dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)

dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)

dist-xz: distdir
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)

dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)

dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)

dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)

dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)

# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@$(am__cd) '$(distuninstallcheck_dir)' \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive

clean-am: clean-generic mostlyclean-am

distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am:

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am:

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-generic

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am:

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
ctags-recursive install-am install-strip tags-recursive

.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
distclean distclean-generic distclean-hdr distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

It didn't build at all, unfortunately. Should I post anything else?

Reply 18 of 46, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Hmm, interesting, it totally ignores the ldflags in the LIBS line... Might be a problem with dosbox' configure script. I'm not at home to take a closer look.
Thing to try, in the makefile(s), add -L/opt/local/lib to the LIBS= stuff after the SDL things (-lSDL).

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 19 of 46, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Thing to try, in the makefile(s), add -L/opt/local/lib to the LIBS= stuff after the SDL things (-lSDL).

Will do, later today I hope, and will report back. Am traveling today and tomorrow, but have the laptop with me. Thank you again.