SDL-mirror/Makefile.am
Sam Lantinga 69105bfa92 Date: Wed, 1 Feb 2006 18:20:33 -0800
From: Eric Wing
Subject: SDL/Universal Binary updates

Hi Sam,
Attached is a big set of changes to the Xcode projects to support
Universal Binaries. I have also included .dmgs that include the
prebuilt frameworks.

Ryan, I also updated SMPEG which is also in the package.

The SDL and smpeg binaries were built against the CVS version (pulled
maybe a month ago?).

I do not have an Intel Mac to test on so I have no idea if this stuff
actually works. However, Christian Walther has been a big help in
testing 10.2.8 and 10.3.9 so I'm fairly confident we got the build
settings correct for at least PPC.

I have attempted to document the important things for producing these
Universal Binaries. Documentation is somewhat scattered through out
everything, but there is a big centralized piece of documentation in
the UniversalBinaryNotes.rtf in the SDL.dmg.

As far as Universal Binaries are concerned, the big things were:
- Build with gcc 3.3 on PPC, 4.0 on Intel.
- We couldn't get any of the MMX/SSE code to compile/link (SDL and
smpeg).
- All 3rd party dependencies had to be rebuilt as Universal

There were also a bunch of non-Universal things that have been updated:
- I converted the SDL-satellites to create .dmg's instead of .pkg
installers
- Updated all 3rd party static libraries with current versions. (I
think libpng was the most dramatic going from 1.0.? to 1.2.8 with API
breakage. I haven't found any problems so far in doing this.)
- Changed some compiler optimization settings
- Finally updated the exports list for SDL_mixer
- Tried to include a static smpeg in SDL_mixer (multiple build
variants in Xcode project now)
- Enabled Altivec in SDL (we forgot to add the flags to Xcode last time)
- More documentation

Since so many things have changed, there might be new problems
introduced. The big issue I've found so far is with SDL_mixer. As I
mentioned on the mailing list, MP3's produce an assertion failure.
And the MikMod problem reported on Bugzilla continues to persist.

There's probably a bunch of other stuff I'm forgetting. There really
were hundreds of little things I mucked with so it's hard to remember
them all.

If you have any questions, feel free to ask.

Thanks,
Eric

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401324
2006-02-02 06:26:39 +00:00

114 lines
2.7 KiB
Makefile

# The top-level input Makefile for SDL
# require automake 1.4
AUTOMAKE_OPTIONS = 1.4
## Any directories that you want built and installed should go here.
SUBDIRS = src include docs
## Any directories you want a part of the distribution should be listed
## here, as well as have a Makefile generated at the end of configure.in
##
## This only works for subdirectories one level deep.
DIST_SUBDIRS = $(SUBDIRS)
# SDL runtime configuration script
bin_SCRIPTS = sdl-config
# All the rest of the distributed files
EXTRA_DIST = \
BUGS \
TODO \
COPYING \
CREDITS \
INSTALL \
README \
README.AmigaOS \
README.CVS \
README.DC \
README.Epoc \
README.MacOS \
README.MacOSX \
README.MiNT \
README.NanoX \
README.PicoGUI \
README.QNX \
README.Qtopia \
README.WinCE \
README-SDL.txt \
Borland.html \
Borland.zip \
VisualC.html \
VisualC.zip \
VisualCE.zip \
Makefile.dc \
MPWmake.sea.bin \
CWprojects.sea.bin \
PBProjects.tar.gz \
EpocBuildFiles.zip \
Xcode.tar.gz \
Xcode21.tar.gz \
XcodeUniversal.tar.gz \
WhatsNew \
docs.html \
sdl.m4 \
SDL.spec \
autogen.sh \
strip_fPIC.sh
# M4 macro file for inclusion with autoconf
m4datadir = $(datadir)/aclocal
m4data_DATA = sdl.m4
# Rule to build tar-gzipped distribution package
$(PACKAGE)-$(VERSION).tar.gz: dist
# Rule to build RPM distribution package
rpm: $(PACKAGE)-$(VERSION).tar.gz
rpm -ta $(PACKAGE)-$(VERSION).tar.gz
# Rule to rebuild the export lists for BeOS, MacOS and Win32.
exports:
(cd src/main/beos/exports; $(MAKE))
(cd src/main/macos/exports; $(MAKE))
(cd src/main/macosx/exports; $(MAKE))
(cd src/main/win32/exports; $(MAKE))
# Rule to build the Project Builder archive in MacOS X
PBProjects.tar.gz:
rm -f `find . -name .DS_Store`
if [ -d PBProjects ]; then \
tar zcvf $@ PBProjects; \
fi
# Rule to install the libraries only - prevent rebuilding apps
install-lib:
cd src && $(MAKE) install-libLTLIBRARIES
# Run ldconfig after installing the library:
install-hook:
-ldconfig
# Grab the test programs for the distribution:
dist-hook:
if test -f test/Makefile; then (cd test; make distclean); fi
rm -rf $(srcdir)/test/autom4te*
cp -rp $(srcdir)/test $(distdir)
rm -rf `find $(distdir) -type d -name CVS -print`
# Create a CVS snapshot that people can run update -d on
CVSROOT = :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs
snapshot:
cvs -d $(CVSROOT) login
cvs -d $(CVSROOT) checkout SDL12
(cd SDL12 && ./autogen.sh && rm -rf autom4te.cache)
mv SDL12 SDL-1.2
tar zcvf $(HOME)/SDL-1.2.tar.gz SDL-1.2
rm -rf SDL-1.2
snapshot13:
cvs -d $(CVSROOT) login
cvs -d $(CVSROOT) checkout -r branch_1_3_x SDL12
(cd SDL12 && ./autogen.sh && rm -rf autom4te.cache)
mv SDL12 SDL-1.3
tar zcvf $(HOME)/SDL-1.3.tar.gz SDL-1.3
rm -rf SDL-1.3